| Tweaking DefaultTreeCellRenderer |
|
 |
Index ‹ java-programmer
|
- Previous
- 2
- eclipseJohn Bailo wrote:
> http://www.eclipse.org
>
The Eclipse IDE is very huge and bloated. You might
want to take a look at one of these alternatives:
http://jedit.org
Supports several development languages and a huge
assortment of feature plugins. You can script out
your own shell tools as macros and make them available
as buttons on your toolbar.
http://netbeans.org
Similar to JEdit but with a GUI designer for Java apps.
Also lots of plugins and multi-language support.
The nice thing about having IDEs written in Java is
the cross-platform support; using the same environment
on any Java-enabled OS.
- 7
- CLASSPATH clobbering, win2kfrom <http://java.sun.com/j2se/1.4/install-windows.html#Environment>:
"Choose Start, Settings, Control Panel, and double-click System. On
Microsoft Windows NT, select the Environment tab; on Microsoft Windows
2000 select the Advanced tab and then Environment Variables. Look for
"Path" in the User Variables and System Variables. If you're not sure
where to add the path, add it to the right end of the "Path" in the
User Variables."
under System Variables the value of "Path" is:
"C:\Program Files\Java\jdk1.5.0\bin\"
from
<http://java.sun.com/docs/books/tutorial/getStarted/cupojava/win32.html#2c>
I followed these instructions:
"If you still have problems, you might have to change your CLASSPATH
variable. To see if this is necessary, try "clobbering" the classpath
with the following command:
set CLASSPATH="
"clobbering" fixed the problem, "java HelloWorldApp" worked fine.
However, since I need to clobber the CLASSPATH variable I need to
change it's value, but to what, pls?
thanks,
Thufir
- 7
- Need convert to postscript before printing?I want to print files which are stored in a folder. From many forum, i
found that printer can only receive postscript format, and if i want to
print pdf or microsoft office files, i need to convert it to postscript
before send to printer.
Am i right? Can anyone gives opinion how to make it simple?
- 7
- singlethreadmodel vs. synchronizeI have a book that is explaining servlets and implements
singlethreadmodel instead of using synchronize with wait and notify.
does that only work with servlets? which is better?
- 7
- Where's the source for midpapi.zip?OK - I give up - what has Sun done with the source to "midpapi.zip"?
I'm usting the WTK, 2.0.
Thanks in advance for any assistance.
--
__________
|im |yler http://timtyler.org/ email***@***.com
- 7
- Help for Windows CEHi
I'm a student and I need to develope an application in java for
Windows CE.
Now I've installed on my pc Eclipse and a sun virtual machine for
windows XP.
My question is: What I can do in order to use my eclipse for develope
an application for my pocket pc with windows CE?
How I can do for make graphical applicationin windows CE? Under
Windows I use the VE plugin but under winCE what I can do for this
problem?
thank very much for all people who help me!
Fabrizio Dominici
- 9
- Applet, use seperate classHi I am making a applet that uses a seperate class, but my IDE tells me
that when I try to use my seperate class, that it cannot resolve the
symbol (ie cant find it) ,or if I try to import the class, that it
expects a '.'. Here's the code
import java.awt.*;
public class Buiding
{
private int width, height, topBuffer, sideBuffer, widthOfWindow,
heightOfWindow,
heightOfThird;
public Buiding(int width, int height)
{
this.width = width; this.height = height;
topBuffer = height/20;
sideBuffer = width/20;
widthOfWindow = width/10;
heightOfWindow = height/10;
heightOfThird = height/3;
}
public void draw(int x, int y, Graphics page)
{
int origionalX = x, origionalY = y;
page.drawRect(x, y, width, height);
int randomXWidth = x - widthOfWindow;
int randomX = (int)(Math.random()*randomXWidth);
int randomYWidth = y + heightOfThird - 2*topBuffer -
heightOfWindow;
int randomY = (int)(Math.random()*randomYWidth);
randomX += x;
randomY += y;
page.fillRect(randomX,randomY,widthOfWindow,heightOfWindow);
}
}
import java.applet.Applet;
import java.awt.*;
import Building; //stops here
public class test extends Applet
{
private Building test; // or here if the above line is not there
public void init()
{
test = new Building(100,100);
}
public void paint(Graphics g)
{
test.draw(10,10,g);
}
}
Thanks for any help
- 9
- [ANN] DBPool : JDBC Connection Pooling - v4.7.2 released
A new version of DBPool has been released (v4.7.2), and is available for
download from http://www.snaq.net/java/DBPool/
DBPool is a pure-Java library for the pooling of JDBC connections for
applications that require high performance database access.
Features include:
* Pool Manager to allow easy configuration and/or quick startup
* User-configurable pools to achieve high performance
* Caching of statements to provide maximum performance
* Multiple connection pools simultaneously
* User-definable connection validation allows increased reliability
* Connection limit allows constraining to database licence restrictions
* Improved performance through caching of statements
* It's FREE, and source code is included
DBPool has been used in many large-scale commercial applications
throughout it's lifetime and various stages of development, on both
Solaris and Windows deployment platforms.
Stan
- 10
- Hiring Sr. Java Tool EngineerGood afternoon my name is Jason and I am a recruiter. My client is
currently seeking 3 Sr. Java Tool Engineers immediately! We are
looking for software engineers with SDLC and BCI experience.
The position is located in the Northern California area and the
company, which I can not disclose at the moment, is a groundfloor
cutting edge software application company that recently secured top
tier Venture Capital Funding. The salary range is $90k-125k and the
benefits include Medical, a great work environment and Pre-IPO Stock
Options. Company will relocate and sponsor/transfer VISAs.
If you are interested in getting more information about this position
please email me at email***@***.com and if possible please
include your resume for review. Thank you and Good Luck!
- 12
- Eclipse Tomcat Project StructureHi All,
I am using Eclipse 3.0 with a Tomcat plug in.
I am trying to create multiple web projects using Tomcats webapps
directory. Eclipse will let me set up one project with under the webapps
folder but when I try to add a new project I get the following error
C:/jakarta-tomcat-4.1.30/webapps and C:/jakarta-tomcat-4.1.30/webapps
overlap.
This I am sure will have a simple explanation... I am thinking that it
should be ok to work on multiple web projects with different names at the
same time under Tomcats webapps folder ?
Thanks in advance
Jim
- 13
- Bug#398510: No longer active on this task.retitle 398510 RFP: openjdk-hotspot-jvm -- Hotspot JVM from Sun
retitle 398448 RFP: openjdk-compiler -- sun java compiler, javac
thanks
Hi
I'm no longer active on this task so I rename it to RFP. However
other people should be able to start from where I stopped so
I have uploaded the files to:
http://debian.opal.dhs.org/java-jdk-dev
Best regards,
// Ola
--
--- Ola Lundqvist systemkonsult --- M Sc in IT Engineering ----
/ email***@***.com Annebergsslingan 37 \
| email***@***.com 654 65 KARLSTAD |
| http://opalsys.net/ Mobile: +46 (0)70-332 1551 |
\ gpg/f.p.: 7090 A92B 18FE 7994 0C36 4FE4 18A1 B1CF 0FE5 3DD9 /
---------------------------------------------------------------
--
To UNSUBSCRIBE, email to email***@***.com
with a subject of "unsubscribe". Trouble? Contact email***@***.com
- 13
- 14
- void methods and "return"hi,
void methods cannot return values, however, i noticed that i can still
use "return" without any value to exit a method like this:
public void myMethod(int arg0)
{
if (arg0 == 0) return;
...
}
question: is the above ok or will i get errors with other java versions.
i'm using jre1.4.1_02 in eclipse.
thx!
- 16
- Java coding with Agile PLM SDK - QuestionHello,
I was wondering if any one out here is dealing with a PALM System called
Agile and has some experience with the Agile SDK. If so can you email me, I
have a question on the SDK.
Also if any one know where I might find like a forum or message board that
deals with The Agile PALM system that would be help full too.
Thanks
-Dale
- 16
- contributiscusate ho sbagliato mira
"Laura" <email***@***.com> ha scritto nel messaggio
news:cnMSg.126457$email***@***.com...
> ma un informatico con p.iva fa parte dei lavoratori autonomi a cui
> verranno aumentati del 2%
> o dei lavoratori atipici a cui saranno aumentati del 5%?
>
|
| Author |
Message |
Thomas Kellerer

|
Posted: 2006-9-17 19:34:00 |
Top |
java-programmer, Tweaking DefaultTreeCellRenderer
Hello,
I'm implementing Drag & Drop for my JTree and I got everything working so far.
There is only one thing that I'd like to add: I would like to highlight the node
that is the current drop target somehow. I did manage to select the node
during my dragEnter() and dragOver() events, but I'd rather not change the
tree's selection during dragging.
So I thought I could customize the TreeCellRenderer used. What I did is the
following:
I extended DefaultTreeCellRenderer and added a method to set the current drop
target row. When creating my tree I set the new renderer as the tree renderer
(which is working because I can see the methods beeing called when adding a
System.out.println())
The I overwrote getTreeCellRendererComponent(). Before calling the
super.getTreeCellRendererComponent() I check if a drop target row is set, and if
it is I pretend the cell is focused:
public Component getTreeCellRendererComponent(JTree tree,
Object value,
boolean sel,
boolean expanded,
boolean leaf,
int row,
boolean hasFocus)
{
boolean drawFocus = hasFocus;
if (this.dropTargetRow != -1 && row == this.dropTargetRow)
{
drawFocus = true;
}
return super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf,
row, drawFocus);
}
But this does not work. I have added debuggin code and the dropTargetRow
variable is set and initialized correctly.
What am I missing here? When I pass a hardcoded true or false to the super call,
it does work (all nodes either always focused or never)
Thanks for any input
Thomas
|
| |
|
| |
 |
danharrisandrews@gmail.com

|
Posted: 2006-9-17 23:31:00 |
Top |
java-programmer >> Tweaking DefaultTreeCellRenderer
Thomas Kellerer wrote:
> What am I missing here? When I pass a hardcoded true or false to the super call,
> it does work (all nodes either always focused or never)
>
> Thanks for any input
> Thomas
Hi Thomas,
Your code looks fine, however, it might be possible that your current
look and feel does not bother drawing the focus. If you look at the
java source for the DefaultTreeCellRenderer you will see that it picks
up some behavior and colors from the UIManager. My suggestion is to try
this (below) instead.
super.getTreeCellRendererComponent(tree, value, sel,
expanded, leaf, row, hasFocus);
if (this.dropTargetRow != -1 && row == this.dropTargetRow)
{
// draw your own just-dropped border on this JLabel here
}
return this;
Cheers,
Dan Andrews
- - - - - - - - - - - - - - - - - - - - - - - -
Ansir Development Limited www.ansir.ca
- - - - - - - - - - - - - - - - - - - - - - - -
|
| |
|
| |
 |
Thomas Kellerer

|
Posted: 2006-9-17 23:41:00 |
Top |
java-programmer >> Tweaking DefaultTreeCellRenderer
email***@***.com wrote on 17.09.2006 17:30:
> Thomas Kellerer wrote:
>> What am I missing here? When I pass a hardcoded true or false to the super call,
>> it does work (all nodes either always focused or never)
>>
>
> Hi Thomas,
>
> Your code looks fine, however, it might be possible that your current
> look and feel does not bother drawing the focus. If you look at the
> java source for the DefaultTreeCellRenderer you will see that it picks
> up some behavior and colors from the UIManager. My suggestion is to try
> this (below) instead.
>
> super.getTreeCellRendererComponent(tree, value, sel,
> expanded, leaf, row, hasFocus);
> if (this.dropTargetRow != -1 && row == this.dropTargetRow)
> {
> // draw your own just-dropped border on this JLabel here
> }
> return this;
Hi Dan,
thanks for your answer. The Look&Feel does support drawing a focus (as I
verified by always passing true as the hasFocus parameter).
But I could get it working nevertheless. When I looked at the source for
DefaultTreeCellRenderer I noticed that a lot of repainting stuff is disabled
"for performance" reasons. Once I called repaint() on the JTree itself after
setting my current dropTargetrow the focus was drawn without any further changes.
Best regards
Thomas
|
| |
|
| |
 |
danharrisandrews@gmail.com

|
Posted: 2006-9-17 23:51:00 |
Top |
java-programmer >> Tweaking DefaultTreeCellRenderer
email***@***.com wrote:
> Hi Thomas,
>
> Your code looks fine, however, it might be possible that your current
> look and feel does not bother drawing the focus. If you look at the
> java source for the DefaultTreeCellRenderer you will see that it picks
> up some behavior and colors from the UIManager. My suggestion is to try
> this (below) instead.
>
> super.getTreeCellRendererComponent(tree, value, sel,
> expanded, leaf, row, hasFocus);
> if (this.dropTargetRow != -1 && row == this.dropTargetRow)
> {
> // draw your own just-dropped border on this JLabel here
> }
> return this;
On second thought you indicated that the focus is shown, so it is not a
look and feel issue. I can't see the problem in your original code,
however, I think it might still be preferable to highlight the dropped
node differently than a focused node. I assume you have put in some
debugging to insure you are getting into your if statement and that the
dropTargetRow assigned correctly.
|
| |
|
| |
 |
danharrisandrews@gmail.com

|
Posted: 2006-9-18 0:05:00 |
Top |
java-programmer >> Tweaking DefaultTreeCellRenderer
Thomas Kellerer wrote:
> But I could get it working nevertheless. When I looked at the source for
> DefaultTreeCellRenderer I noticed that a lot of repainting stuff is disabled
> "for performance" reasons. Once I called repaint() on the JTree itself after
> setting my current dropTargetrow the focus was drawn without any further changes.
>
> Best regards
> Thomas
Hi Thomas,
I was wrong. You got it working - right on! Seems like you shouldn't
have to call repaint though. In the past I have found that when you
change the structure of your tree you get better results when your
TreeModel fires the events indicating the exact changes. Not sure how
you implemented changing the tree's structure, but if it's working for
you that's the important thing.
Cheers,
Dan Andrews
- - - - - - - - - - - - - - - - - - - - - - - -
Ansir Development Limited www.ansir.ca
- - - - - - - - - - - - - - - - - - - - - - - -
|
| |
|
| |
 |
Thomas Kellerer

|
Posted: 2006-9-18 0:20:00 |
Top |
java-programmer >> Tweaking DefaultTreeCellRenderer
email***@***.com wrote on 17.09.2006 18:05:
> Thomas Kellerer wrote:
>> But I could get it working nevertheless. When I looked at the source for
>> DefaultTreeCellRenderer I noticed that a lot of repainting stuff is disabled
>> "for performance" reasons. Once I called repaint() on the JTree itself after
>> setting my current dropTargetrow the focus was drawn without any further changes.
>>
>> Best regards
>> Thomas
>
> Hi Thomas,
>
> I was wrong. You got it working - right on! Seems like you shouldn't
> have to call repaint though. In the past I have found that when you
> change the structure of your tree you get better results when your
> TreeModel fires the events indicating the exact changes. Not sure how
> you implemented changing the tree's structure, but if it's working for
> you that's the important thing.
>
Well the repaint() call is only need for indicating the target of the drop
operation during the drag events, not for the actual drop operation.
I do feel the repaint shouldn't be necessary as well, but as long as it's
working I don't really care ;)
Cheers
Thomas
|
| |
|
| |
 |
Babu Kalakrishnan

|
Posted: 2006-9-19 22:49:00 |
Top |
java-programmer >> Tweaking DefaultTreeCellRenderer
Thomas Kellerer wrote:
>
> Well the repaint() call is only need for indicating the target of the
> drop operation during the drag events, not for the actual drop operation.
>
> I do feel the repaint shouldn't be necessary as well, but as long as
> it's working I don't really care ;)
>
Swing's policy is to repaint a component only if something has changed
(as indicated by events from the model it receives or from the
container). A drag event doesn't constitute a "change" per se - so it
is upto you to specify that it should perform a repaint.
From a performance point of view, you could also ask for a selective
repaint of only the cell in question only by using the variant of the
repaint method that specifies an area to be repainted.
BK
|
| |
|
| |
 |
| |
 |
Index ‹ java-programmer |
- Next
- 1
- java/62837: linux-sun-jdk14 executables hang with COMPAT_LINUX in the the kernel.Synopsis: linux-sun-jdk14 executables hang with COMPAT_LINUX in the the kernel.
State-Changed-From-To: open->feedback
State-Changed-By: linimon
State-Changed-When: Fri Mar 31 08:51:09 UTC 2006
State-Changed-Why:
Submitter: is this still a problem?
Responsible-Changed-From-To: phantom->freebsd-java
Responsible-Changed-By: linimon
Responsible-Changed-When: Fri Mar 31 08:51:09 UTC 2006
Responsible-Changed-Why:
Reassign from phantom since he has been inactive for more than one year.
Hat: gnats-admin
http://www.freebsd.org/cgi/query-pr.cgi?pr=62837
- 2
- Torque and WebsphereWe are implenting a J2EE project where WebSphere is handling
connection pooling for the application calls to a database. We have a
JDBC Resource configured which tested successfully. We also have the
application successfully connecting to the database which is confirmed
by the following error message.
rethrown as org.apache.torque.TorqueException: [IBM][CLI Driver][DB2]
SQL0204N "TSTUSER.PERMISSION" is an undefined name.
The problem is apparent, TSTUSER does not own a table called
PERMISSION and in fact this table is owned by the user TELUSER and our
intention is for TSTUSER to execute DML against it. We have not been
able to configure the schema.xml file nor the build.properties to
instruct Torque to produce SQL that fully qualifies the object name
with the appropriate schema owner. Any advice you might offer will be
appreciated.
Best regards
- 3
- [OT]httpservletrequest parameters in netscapesookean wrote:
> Some more info...
>
> Here's some snippet for the list box:
> <select name="mylistbox" id="select2" onchange="setLang()">
>
> And here's a simplified version of my setLang()
> function setLang()
> {
> document.location.href="www.myserver.com?page=mypage&page2="+document.listbox[listbox.selectedIndex].value;
> }
Two points:
1) This question is off-topic for this (non-existent) group.
2) Does the version of Netscape you are using claim to be XHTML
compliant? Are you identifying your document as as XHTML document and
not simply an HTML document?
Ray
- 4
- 5
- Setting Appender's fields in Apache's Log4JHi,
In the following code snippet (which is written to create a
FileAppender & make log4J log to that file):
import org.apache.log4j.*;
class sample
{
....
HTMLLayout layout = new HTMLLayout();
layout.TITLE_OPTION = "DataSE Log";
String logFileName = "Log.txt";
Appender appender = new FileAppender(layout, logFileName, true);
appender.immediateFlush = false;
appender.bufferedIO = true;
appender.bufferSize = 64;
Logger logger = Logger.getLogger();
logger.addAppender(appender);
.....
}
the above snippet is not inside any method. Its directly within the
class. In the above snippet, I am encountering 2 types of errors:
1. Am using the fields of the classes FileAppender & layout. The usage
seems to be wrong, because am getting the error "'synatx error on
token(s); misplaced construct(s)" & similar errors.
2. how to specify the bufferSize? Just as '64' or '64K'?
Thanks.
- 6
- Mystery of the Shrinking JScrollPaneI've got a slight mystery that I can't fathom, and was wondering if someone
could help me understand what I've done wrong.
I'm trying to create a simple interface within a defined width and height.
It consists of a top half, and a bottom half.
The top half is a sideways-scrolling panel containing a bunch of smaller
panels side-by-side, in a GridLayout. This can expand to fit the width of
the overall UI, but must never take more height than it actually needs to
show the smaller panels in full.
The bottom half is simply a panel, which should absorb all extra height and
width.
If I add sufficient images to NOT exceed the width of the overall UI,
everything works as expected; the JScrollPane expands to fit the images'
height into its viewport, and the filler panel below takes up the slack.
But if I add another small panel, enough to exceed the width of the overall
UI, it goes wrong; the JScrollPane shrinks to practically nothing. I have
set the preferred height of the small panels and of the panel they sit in
(which is inside the scroll pane), so it's not as if it shouldn't be able to
figure out how tall it should be; after all, it figured it out when they
didn't exceed the width.
I just can't understand why it should suddenly shrink.
Here's an applet that will demonstrate the problem:
First, the HTML file to run it:
<HTML>
<HEAD>
<TITLE>TestShrinkingScrollPane</TITLE>
</HEAD>
<BODY>
<APPLET code="JTestShrinkingScrollPaneApplet.class" width="840"
height="640"></APPLET>
</BODY>
</HTML>
Now the single java source file to compile (compiling using 1.4.1_03),
JTestShrinkingScrollPaneApplet.java :
import javax.swing.JApplet;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.Insets;
/**
*
*/
/**
* @author Jason
*
*/
public class JTestShrinkingScrollPaneApplet extends JApplet
{
/**
*
*/
private static final long serialVersionUID = 1L;
public void init()
{
final int NUM_SMALL_PANELS = 5 ;
// Add a panel with GridBagLayout to the content pane as our root
component.
JPanel backPanel = new JPanel();
backPanel.setBackground(Color.RED);
backPanel.setLayout(new GridBagLayout() );
getContentPane().add(backPanel);
// Create our panel that will scroll sideways, and its contents.
JPanel scrollablePanel = new JPanel();
scrollablePanel.setBackground(Color.BLUE);
scrollablePanel.setLayout(new GridLayout(1, NUM_SMALL_PANELS, 0, 0) );
// No gaps between cells. Unlike FlowLayout(), this forces it on to one
row.
for (int panelIndex = 0 ; panelIndex < NUM_SMALL_PANELS ; panelIndex++)
{
JPanel smallPanel = new JPanel();
smallPanel.setBackground(Color.YELLOW);
smallPanel.setPreferredSize(new Dimension(160, 110) );
scrollablePanel.add(smallPanel);
}
// With no gaps between cells, the overall size needed is obvious:
scrollablePanel.setPreferredSize(new Dimension(160 * NUM_SMALL_PANELS,
110) );
// Create the bottom panel, that will absorb the extra height available.
JPanel fillerPanel = new JPanel();
fillerPanel.setBackground(Color.GREEN);
// Now create the grid bag.
GridBagConstraints constraints = new GridBagConstraints();
constraints.anchor = GridBagConstraints.CENTER ;
constraints.gridheight = 1 ;
constraints.gridwidth = 1 ;
constraints.gridx = 0 ;
constraints.insets = new Insets(0, 0, 0, 0);
constraints.ipadx = 0 ;
constraints.ipady = 0 ;
constraints.weightx = 1.0 ;
// The wide, scrollable panel - it can absorb the width, but must not
// absorb any more height THAN IT NEEDS!
constraints.fill = GridBagConstraints.HORIZONTAL ;
constraints.gridy = 0 ;
constraints.weighty = 0.0 ;
backPanel.add(new JScrollPane(scrollablePanel), constraints);
// The other panel - it can absorb the width AND the height.
constraints.fill = GridBagConstraints.BOTH ;
constraints.gridy = 1 ;
constraints.weighty = 1.0 ;
backPanel.add(fillerPanel, constraints);
}
}
If you compile and display it as it stands, you can see the JScrollPane is
quite rightly displaying the yellow small panels in full height.
If you now change NUM_SMALL_PANELS to 6, which goes beyond the width, and
then re-display it, you'll see the scroll pane collapses.
Any ideas as to why this happens? I've tried setting the viewport preferred
size but it doesn't make any difference. The best I can do is manually set
the scroll pane's size to the needed height + a scroll bar's preferred
height but that is neither elegant nor perfect - I want to know why it goes
wrong!
Any help on the why would be appreciated.
- 7
- Lomboz: problems running JBoss
> The result: Now I can start JBoss within Lomboz :)
> But calling my web results in an
> "Error running javac.exe compiler"
> Adding the variable "JAVA_HOME" did not help :(
Now I found out, that it works, when I put the bin dir
of javac.exe to the Windows system PATH before running
Eclipse. I don't like that. Isn't there another way?
Marcus
- 8
- Process managementI am looking some packages for:
- monitoring a machine (total/free memory, CPU usage, keyboard/mouse
activity)
- managing processes (start/ssupend/resume/change priority) of processes.
I need this working at least on Windows/Linux ;-)
So far I was not able to find something doing this.
Thanks for your help.
Guillaume
- 9
- 10
- 11
- 12
- Java UML tutorialsThere's a good tutorial on UML with corresponding Java code at
http://www.parlezuml.co.uk/tutorials/java/class/index.htm
So far there's only one on class diagrams, but there's quite a few
much more advanced UML tutorials aimed at C# developers that this one
seems to be a "port" of, so expect more tutorials soon.
designman
- 13
- free java datetimepickerhi,
if you need a datetimepicker-control for java,
you can find one on my side:
http://www.software47.de/eng/software/datetimepicker/datetimepicker_en.htm
it's absolutely free, you can use it as you like.
since i was looking for a free datetimepicker myself, but found nothing, I
wrote one the last days...
If you find bugs or have ideas to better it up, let me know.
Java 1.4 is needed! (because of frame.setundecorated...)
kind regards wolfgang
- 14
- Layout problem driving me insane - panels, resizing, etcIchBin wrote:
> email***@***.com wrote:
>>> Get NetBeans. (Get the latest one, 5.5) You don't need any plugins,
>>> everything is there for you already. Go through the tutorial below,
>>> it'll take about 30 minutes. If your eyes don't pop out of your head
>>> like Rodger Rabbit, then you can safely ignore it.
>>>
>>> http://www.netbeans.org/kb/50/quickstart-gui.html
>>
>> 60 MB - yikes. I'll download it tonight and play with it a little
>> bit... and also try all the other suggestions. I'll try and post my
>> conclusions tomorrow.
>>
[snip]
Just looked at the code again. It's ok but wanted to slim it down one
more time..
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.ListSelectionModel;
import javax.swing.SwingUtilities;
import com.jgoodies.forms.builder.DefaultFormBuilder;
import com.jgoodies.forms.debug.FormDebugPanel;
import com.jgoodies.forms.debug.FormDebugUtils;
import com.jgoodies.forms.factories.ButtonBarFactory;
import com.jgoodies.forms.layout.FormLayout;
public class LayoutProblem implements ActionListener
{
public static void main(String[] args)
{
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
new LayoutProblem();
}
});
}
public LayoutProblem()
{
jFrame.setDefaultCloseOperation(jFrame.EXIT_ON_CLOSE);
jFrame.add(buildMainPanel());
jFrame.setPreferredSize(new Dimension(475,600));
jFrame.pack();
jFrame.setVisible(true);
}
private JPanel buildMainPanel()
{
FormLayout layout = new FormLayout (
/* Columns */ "default:grow",
/* Rows */ "pref, 12dlu, fill:0:grow(0.50), 20dlu,
fill:0:grow(0.50)"
);
DefaultFormBuilder builder = DEBUGMODE
? new DefaultFormBuilder(layout,new FormDebugPanel())
: new DefaultFormBuilder(layout);
builder.setDefaultDialogBorder();
builder.nextLine(2);
builder.append(buildControl(jTable));
builder.append(buildButtonBar());
builder.append(buildControl(jTextArea));
if (DEBUGMODE)
{
FormDebugUtils.dumpAll(builder.getPanel());
}
return builder.getPanel();
}
private JComponent buildButtonBar()
{
JPanel jPanel = new JPanel();
jPanel = ButtonBarFactory.buildCenteredBar(
buildControl(BUTTON1),
buildControl(BUTTON2),
buildControl(BUTTON3),
buildControl(TEXT_EXIT));
jPanel.setBorder(BorderFactory.createRaisedBevelBorder());
return jPanel;
}
private JButton buildControl(String labelText)
{
jButton = new JButton(labelText);
jButton.addActionListener(this);
return jButton;
}
private JComponent buildControl(JTable jTable)
{
jTable = new JTable(dataValues, columnNames);
JScrollPane scrollPane = new JScrollPane(jTable);
jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
return scrollPane;
}
private JComponent buildControl(JTextArea jTextArea)
{
jTextArea = new JTextArea(logAreaHdr);
JScrollPane scrollPane = new JScrollPane(jTextArea );
return scrollPane;
}
public void actionPerformed(ActionEvent e)
{
final String method = "jBotton_actionPerformed(ActionEvent " +
e + "): ";
if (DEBUGMODE)
{
System.out.println(DEBUGHEATER + method);
}
if (BUTTON1.equals(e.getActionCommand()))
{
}
else if (BUTTON2.equals(e.getActionCommand()))
{
}
else if (BUTTON3.equals(e.getActionCommand()))
{
}
else if (TEXT_EXIT.equals(e.getActionCommand()))
{
System.exit(0);
}
}
private static final String PROGRAM = (((new
Throwable()).getStackTrace())[0].getClassName())+".";
private static final String DEBUGHEATER = "( DEBUG ) " + PROGRAM;
private static final boolean DEBUGMODE = false;
private JFrame jFrame = new JFrame("JGoodies
Forms Layout Demo");
private JTable jTable;
private JTextArea jTextArea;
private JButton jButton;
private final String BUTTON1 = "Button 1";
private final String BUTTON2 = "Button 2";
private final String BUTTON3 = "Button 3";
private final String TEXT_EXIT = "EXIT";
private final String logAreaHdr =
"---------------------------\n---------------------------\n---------------------------\n";
private final String columnNames[] = {"Column 1", "Column
2", "Column 3"};
private String dataValues[][] = {
{"0aa", "bbb", "ccc"},
{"0dd", "eee", "fff"},
{"0gg", "hhh", "iii"},
{"1aa", "bbb", "ccc"},
{"1dd", "eee", "fff"},
{"1gg", "hhh", "iii"},
{"2aa", "bbb", "ccc"},
{"2dd", "eee", "fff"},
{"2gg", "hhh", "iii"},
{"3aa", "bbb", "ccc"},
{"3dd", "eee", "fff"},
{"3gg", "hhh", "iii"},
{"4aa", "bbb", "ccc"},
{"4dd", "eee", "fff"},
{"4gg", "hhh", "iii"},
{"5aa", "bbb", "ccc"},
{"5dd", "eee", "fff"},
{"5gg", "hhh", "iii"},
{"6aa", "bbb", "ccc"},
{"6dd", "eee", "fff"},
{"6gg", "hhh", "iii"},
{"7aa", "bbb", "ccc"},
{"7dd", "eee", "fff"},
{"7gg", "hhh", "iii"},
{"8aa", "bbb", "ccc"},
{"8dd", "eee", "fff"},
{"8gg", "hhh", "iii"},
{"9aa", "bbb", "ccc"},
{"9dd", "eee", "fff"},
{"9gg", "hhh", "iii"},
{"aaa", "bbb", "ccc"},
{"ddd", "eee", "fff"},
{"ggg", "hhh", "iii"},};
}
--
Thanks in Advance...
IchBin, Pocono Lake, Pa, USA
http://weconsultants.servebeer.com/JHackerAppManager
__________________________________________________________________________
'If there is one, Knowledge is the "Fountain of Youth"'
-William E. Taylor, Regular Guy (1952-)
- 15
- most software jobs are software maintenance rather than new development?
>> If the code were written with copious unit tests, and if they still
>> passed no matter how old the original effort, then you don't need such
>> expertise to maintain it.
>Dubious at best. Obviously you only have read well written/refactored code
I think someone can only see the world through TDD glasses :)
-Scott Frye
"aut viam inveniam aut faciam"
|
|
|