| Mystery of the Shrinking JScrollPane |
|
 |
Index ‹ java-programmer
|
- Previous
- 2
- 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
- 2
- 3
- 3
- 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?
- 6
- 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
- 7
- Tweaking DefaultTreeCellRendererHello,
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
- 8
- 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"
- 8
- 8
- 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
- 8
- 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
- 10
- 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
- 11
- 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.
- 11
- 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
- 12
- 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.
- 15
- [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
|
| Author |
Message |
slageet

|
Posted: 2007-1-30 5:19:00 |
Top |
java-programmer, Mystery of the Shrinking JScrollPane
I'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.
|
| |
|
| |
 |
| |
 |
Index ‹ java-programmer |
- Next
- 1
- polymorphic voodoo?Ok, here is what I am trying to decipher. I have the following code
private void someMethod() {
ArrayList list1 = null;
LinkedList list2 = null;
cleverFunction(list1,list2);
}
private void cleverFunction(List first, List second) {
System.out.println("Static type for first is " + .....);
System.out.println("Static type for second is " + .....);
}
Ok, so, given a polymorphic call like this, is it possible, through
whatever witchcraft necessary, to determine what the static types of
the type polymorphic parameters are?
Maybe some sort of interrogation of the stack? Maybe some sorta
reflection?
Ideas?
christian
http://christian.bongiorno.org/resume.PDF
- 2
- HAVI packages, where?Hi everyone, I want to download HAVI API packages for java but i don't
know where can i download its. Thank you
- 3
- Java RPCHi All,
We have a set of application that communicates with embeded devices
that runs linux. Now we decide to use xml-rpc to send commands to the
devices with Apache's xmlrpc (or any other). We only need to generate,
and parse the structured xml string that contains the method name and
parameters. In other words we dont want to use a rpc server.
My question is how can I obtain the xml string of RPC command by only
suplying the method name and a vector that contains the parameters.
ps. In addition to primitive data types, parameters may contain
struct, array and etc.
Thanks in advance for your answer..
- 4
- Shuffled Poker DeckHi all,
Im new to Java, and as Training for me I tried to build an Application,
which returns a shuffled Pokerdeck. (Random from 1 to 52)
Maybe you will laugh, but i needed a whole day to solve it, and I think its
even not good solution.
Well, at least it works, but please could you give me a hint, how to solve
this problem easier.
Heres the code:
/**
* @(#)Poker.java
*
*
* @author Martin Krainer
* @version 1.00 2007/1/22
*/
public class Poker {
static int[] deck = new int[52];
void buildDeck() { // builds a deck with 52
(hopefully) different Integers
for (int i=0; i<52; i++) {
deck[i] = (int)(Math.random()*10E7);
}
}
void shuffledDeck(int[] a) { // now here I tried hard and
long to get a field with numbers from 1 to 52
long[] zahl= new long[52];
for (int i=0; i<10E7; i++) {
for (int j=0; j<52; j++) {
if (i == deck[j]) {
zahl[j] = j;
System.out.print( " " + (zahl[j]+1) );
}
}
}
}
public static void main(String[] args) {
Poker p = new Poker();
p.buildDeck();
p.shuffledDeck(deck); //well, it works, but...
what do you think?
}
}
- 5
- 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
- 6
- Pooling of connectionsHi all,
I've read a few articles about how pooled connections are more
efficient because you don't need to repeatedly setup/teardown a
connection - you just acquire connection from the pool.
Exactly what steps in setting up/tearing down a connection are skipped
by acquiring an already existing connection? Perhaps the steps in
establishing/tearing down a connection would help in answering this
question?
Thanks
Taras
- 7
- Java in AT&T PWPHi,
I was referred to you because I'm having a problem getting this to run in
AT&T PWP (Personal Web Pages). I compile the Java Program using NetBeans
IDE 3.6. I upload the .java, the .class and the .html files to my PWP
library.
import java.awt.*;
import java.applet.*;
import javax.swing.*;
public class AppHelloWorld extends JApplet
{
public void init()
{
resize(700,100);
}
public void paint(Graphics g)
{
g.drawString("Hello, Applet world!", 10, 25);
}
}
---------------------------------------------------------------
This is the page I run in the browser (Internet Explorer and Netscape).
<HTML>
<HEAD>
<TITLE>Applet HTML Page</TITLE>
</HEAD>
<BODY>
<H3><HR WIDTH="100%">Applet HTML Page<HR WIDTH="100%"></H3>
<P>
<APPLET code="AppHelloWorld.class" width=350 height=200>
</APPLET>
</P>
<HR WIDTH="100%"><FONT SIZE=-1><I>Generated by NetBeans IDE</I></FONT>
</BODY>
</HTML>
This is the message I get from the browser:
java.lang.ClassFormatError: AppHelloWorld (Extra bytes at the end of the
class file)
The page will run in Edit*Plus and IE (FILE, OPEN, BROWSE) and Netscape
(FILE, OPEN FILES, select document).
Can you provide any information on how to get this to run in the browsers?
Wayne Rawls
- 8
- basics of ANThi, i have downloaded and started reading the ant tutorial.
i am confused becuase some of the concepts , the tutorial (jakarta )
is not making clear.
my objective is to compile and run a java program.
my questions are as follows
it is called in order to compile and run you need a "build.xml" file .
where is that file ?
QUESTION 1: is it within ant distribution OR i have to make a
build.xml file myself?
The tutorial does not say anything about it. it just starts straight
forward with a demo "build.xml" file.
where do i put this "build.xml" file ?
QUESTION 2 :
i have a java code here.
>md src
package oata;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
location of this code is "src/oata/HelloWorld.java"
Now tell, where do i put "build.xml" file ?
- 9
- 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-)
- 10
- Grid Bag question.I am trying to put together a panel which needs to consist of 20 lines,
each containing :
JLabel - 2 columns
JTextField - 1 colomn
JTextField - 1 column
JLabel - 2 Columns
The JText fields would be filled out from arrays, so it would be layed
out with the help of a 'for' loop.
I put together a test program (provided below) to try to emulate this,
but the layout manager only seems to want to give each entity (JLabel,
JTextField) the same amount of width each regardless of what I specify
in the GridWidth fields. Can this be done with specifying sizes for the
individual JTextfields or labels? Please advise - Thanks - Lou
import java.awt.*;
import javax.swing.*;
public class Test_GridBag2 {
public static void addComponentsToPane(JPanel pane) {
JButton button;
JLabel label;
JTextField jtf;
pane.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.fill = GridBagConstraints.HORIZONTAL;
//pane.setPreferredSize(new Dimension(300,200));
for (int i = 0; i<3;i++)
{
label = new JLabel("test");
c.gridx = 0;
c.gridwidth = 2; //2 columns wide
c.gridy = i; //third row
c.weightx = 1.0;
//c.anchor = GridBagConstraints.EAST; //bottom of space
pane.add(label, c);
jtf = new JTextField();
c.gridx = 2; //aligned with button 2
c.gridwidth = 1; //2 columns wide
c.gridy = i;
c.weightx = 1.0; //request any extra vertical space
//c.anchor = GridBagConstraints.EAST;//third row
pane.add(jtf, c);
jtf = new JTextField();
c.gridx = 3; //aligned with button 2
c.gridwidth = 1; //2 columns wide
c.gridy = i;
c.weightx = 1.0; //request any extra vertical space
//c.anchor = GridBagConstraints.EAST;//third row
pane.add(jtf, c);
label = new JLabel("");
c.gridx = 4; //aligned with button 2
c.gridwidth = 2; //2 columns wide
c.gridy = i;
//c.insets = new Insets(0,0,0,10);
c.weightx = 1.0; //request any extra vertical space
//c.anchor = GridBagConstraints.EAST;//third row
pane.add(label, c);
}
}
private static void createAndShowGUI() {
JFrame frame = new JFrame("GridBagLayoutDemo");
JFrame.setDefaultLookAndFeelDecorated(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
addComponentsToPane(panel);
frame.getContentPane().add( panel );
//Display the window.
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
- 11
- Java regex imposture re: Perl regex compatibility// java has claimed to have added Perl style regular expressions ,
however
// writing a regular expression containing a variable is ugly in java.
// in Perl: $rec =~ s/$delimiter//g is easy to write and to read.
// in java: if delimiter may hold say "||" or "!" isntead of [a-z]
text,
// you have to quote it as below with preceding \\Q (not just \Q ) and
// trailing \\E. ugly and difficult to code!
rec = rec.replaceAll("\\Q" + delimiter + "\\E" ,"");
So even though java has perl style regex in principle, in practice,
in java they seem nearly unusable!
-A.C. Attlee
- 12
- checking for org.omg.CORBA.OBJECT_NOT_EXISTHi,
I'm writing a java CORBA client, using the Visibroker ORB. Sometimes
when I call methods on the remote object references I get the following
exception
org.omg.CORBA.OBJECT_NOT_EXIST: vmcid: OMG minor code: 0 completed:
No
Is there some way that I can check beforehand whether this exception
will be thrown, i.e. whether the remote object still exists? I thought
that I could do it like this:
if (myRef._non_existent()) {
// get a new myRef
}
myRef.doRemoteMethod();
But I've found that _non_existent() throws exceptions. Is there a
better way to check for the state that causes an OBJECT_NOT_EXIST
exception?
Regards,
Dan
- 13
- How to open dialup connection in Java?Hi everyone,
Who know, how to open dialup connection from Java? (I found only one
way - to run another program (*.bat file), but it's not good idea). Any
another suggestions?
Haim.
- 14
- Good programming questionI was just wondering as to what is a better standard to program by. If
I have a class like this:
class MyClass {
private int myVariable;
private void myMethod1(){
myVariable = 1;
}
private void myMethod2(){
this.myVariable = 1;
}
}
Which method is better? Is there a better choice? Does it make any
difference which way I do it? Maybe this sounds like an insignificant
question but I have done this both ways and just don't know if there is
a good reason to go one way or the other.
- 15
|
|
|