Vraag : Java Gui, aangepaste objecten nadruk en resize

Hallo: Ik gebruik Java 6. Ik kon nu aangepast voorwerp in JPanel trekken. Maar ik weet niet hoe als geconcentreerde zichtbaar ben en hoe te resize it.
Code in bijlage is laat. Hoe kon ik Clazz (uitbreidt JComponent laten) resized geconcentreerd=worden= en?

 
" codeBody "
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
============DndTest.java===========

pakket juhan.exer.dnd;

de invoer java.awt.BorderLayout;
de invoer java.awt. Grafiek;
de invoer java.awt.event.KeyEvent;
de invoer javax.swing.JButton;
de invoer javax.swing.JDesktopPane;
de invoer javax.swing.JFrame;
de invoer javax.swing.JMenu;
de invoer javax.swing.JMenuBar;
de invoer javax.swing.JMenuItem;
de invoer javax.swing.JPanel;
de invoer javax.swing.JSplitPane;
de invoer javax.swing.JToolBar;
de invoer javax.swing.SwingUtilities;
de invoer javax.swing.UIManager;

/**
 *
 * @author juhshen
 */
de openbare klasse DndTest breidt JFrame uit {
    privé JDesktopPane DP = nieuwe JDesktopPane ();
    privé JSequencePanel sequenceDiagram = nieuwe JSequencePanel ();

openbare DndTest () {
    super („Test Dnd“);
    init ();
}

privé nietige init () {
   setJMenuBar (createDummyMenuBar ());
   getContentPane () createDummyToolBar .add ((), BorderLayout.NORTH);

   JSplitPane SP = nieuwe JSplitPane (JSplitPane.HORIZONTAL_SPLIT, 
                                                          DP, sequenceDiagram);
   sp.setDividerLocation (120);
   getContentPane () .add (SP);
   sequenceDiagram.addClass (nieuwe Clazz ());
 
   
}

privé createDummyToolBar JToolBar () {
        JToolBar tb = nieuwe JToolBar ();
        JButton B;
        B = nieuwe JButton („Nieuw“);
        (vals) b.setRequestFocusEnabled;
        tb.add (B);
        B = nieuwe JButton („Open“);
        (vals) b.setRequestFocusEnabled;
        tb.add (B);
        B = nieuwe JButton („sparen“);
        (vals) b.setRequestFocusEnabled;
        tb.add (B);
        B = nieuwe JButton („Druk“);
        (vals) b.setRequestFocusEnabled;
        tb.add (B);
        B = nieuwe JButton („Voorproef“);
        (vals) b.setRequestFocusEnabled;
        tb.add (B);
        (vals) tb.setFloatable;
        terugkeer tb;
    }

    privé createDummyMenuBar JMenuBar () {
        JMenuBar mb = nieuwe JMenuBar ();
        mb.add (createDummyMenu („Dossier“));
        mb.add (createDummyMenu („geef“) uit);
        mb.add (createDummyMenu („Onderzoek“));
        mb.add (createDummyMenu („Mening“));
        mb.add (createDummyMenu („Hulpmiddelen“));
        mb.add (createDummyMenu („Hulp“));

        De manifestatie van JMenu = nieuwe JMenu („Manifestatie“);
        demo.setMnemonic (KeyEvent.VK_D);
        mb.add (manifestatie);

        terugkeer mb;
    }

    privé createDummyMenu JMenu (de streptokok van het Koord) {
        Het menu van JMenu = nieuwe JMenu (streptokok);
        Het punt van JMenuItem = nieuwe JMenuItem („[Leeg]“);
        (vals) item.setEnabled;
        menu.add (punt);
        terugkeer menu;
    }

 openbare statische nietige leiding (definitief Koord [] args) {
    SwingUtilities.invokeLater (nieuwe Jaagbaar () {
       openbare in werking gestelde leegte () {
                //Turn van het gebruik van het metaal van gewaagde doopvonten
	   UIManager.put („swing.boldMetal“, Boolean.FALSE);
           createAndShowGUI (args);
       }

       privé nietige createAndShowGUI (Koord [] args) {
           probeer {
              UIManager.setLookAndFeel (UIManager.getSystemLookAndFeelClassName ());
           } vangst (Uitzondering e) {
           }

           De test van DndTest = nieuwe DndTest ();
           test.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
           test.setSize (800, 600);

           (ongeldig) test.setLocationRelativeTo;
           (waar) test.setVisible;
        }
    });
 }
}
===================DndTest.java ends========================
==================JSequencePanel.java starts================

pakket juhan.exer.dnd;

de invoer java.awt. Grafiek;
de invoer java.awt. Graphics2D;
de invoer java.util.ArrayList;
de invoer java.util. Lijst;
de invoer javax.swing.JPanel;

/**
 *
 * @author juhshen
 */
de openbare klasse JSequencePanel breidt JPanel uit {

    privé moduleList List = nieuwe ArrayList ();

    openbare JSequencePanel () {
        super ();
    }

    @Override
    beschermde nietige paintComponent (Grafiek g) {
        super.paintComponent (g);
        voor (int. i=0; i
           
" codeBody "
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
============DndTest.java===========

pakket juhan.exer.dnd;

de invoer java.awt.BorderLayout;
de invoer java.awt. Grafiek;
de invoer java.awt.event.KeyEvent;
de invoer javax.swing.JButton;
de invoer javax.swing.JDesktopPane;
de invoer javax.swing.JFrame;
de invoer javax.swing.JMenu;
de invoer javax.swing.JMenuBar;
de invoer javax.swing.JMenuItem;
de invoer javax.swing.JPanel;
de invoer javax.swing.JSplitPane;
de invoer javax.swing.JToolBar;
de invoer javax.swing.SwingUtilities;
de invoer javax.swing.UIManager;

/**
 *
 * @author juhshen
 */
de openbare klasse DndTest breidt JFrame uit {
    privé JDesktopPane DP = nieuwe JDesktopPane ();
    privé JSequencePanel sequenceDiagram = nieuwe JSequencePanel ();

openbare DndTest () {
    super („Test Dnd“);
    init ();
}

privé nietige init () {
   setJMenuBar (createDummyMenuBar ());
   getContentPane () createDummyToolBar .add ((), BorderLayout.NORTH);

   JSplitPane SP = nieuwe JSplitPane (JSplitPane.HORIZONTAL_SPLIT, 
                                                          DP, sequenceDiagram);
   sp.setDividerLocation (120);
   getContentPane () .add (SP);
   sequenceDiagram.addClass (nieuwe Clazz ());
 
   
}

privé createDummyToolBar JToolBar () {
        JToolBar tb = nieuwe JToolBar ();
        JButton B;
        B = nieuwe JButton („Nieuw“);
        (vals) b.setRequestFocusEnabled;
        tb.add (B);
        B = nieuwe JButton („Open“);
        (vals) b.setRequestFocusEnabled;
        tb.add (B);
        B = nieuwe JButton („sparen“);
        (vals) b.setRequestFocusEnabled;
        tb.add (B);
        B = nieuwe JButton („Druk“);
        (vals) b.setRequestFocusEnabled;
        tb.add (B);
        B = nieuwe JButton („Voorproef“);
        (vals) b.setRequestFocusEnabled;
        tb.add (B);
        (vals) tb.setFloatable;
        terugkeer tb;
    }

    privé createDummyMenuBar JMenuBar () {
        JMenuBar mb = nieuwe JMenuBar ();
        mb.add (createDummyMenu („Dossier“));
        mb.add (createDummyMenu („geef“) uit);
        mb.add (createDummyMenu („Onderzoek“));
        mb.add (createDummyMenu („Mening“));
        mb.add (createDummyMenu („Hulpmiddelen“));
        mb.add (createDummyMenu („Hulp“));

        De manifestatie van JMenu = nieuwe JMenu („Manifestatie“);
        demo.setMnemonic (KeyEvent.VK_D);
        mb.add (manifestatie);

        terugkeer mb;
    }

    privé createDummyMenu JMenu (de streptokok van het Koord) {
        Het menu van JMenu = nieuwe JMenu (streptokok);
        Het punt van JMenuItem = nieuwe JMenuItem („[Leeg]“);
        (vals) item.setEnabled;
        menu.add (punt);
        terugkeer menu;
    }

 openbare statische nietige leiding (definitief Koord [] args) {
    SwingUtilities.invokeLater (nieuwe Jaagbaar () {
       openbare in werking gestelde leegte () {
                //Turn van het gebruik van het metaal van gewaagde doopvonten
	   UIManager.put („swing.boldMetal“, Boolean.FALSE);
           createAndShowGUI (args);
       }

       privé nietige createAndShowGUI (Koord [] args) {
           probeer {
              UIManager.setLookAndFeel (UIManager.getSystemLookAndFeelClassName ());
           } vangst (Uitzondering e) {
           }

           De test van DndTest = nieuwe DndTest ();
           test.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
           test.setSize (800, 600);

           (ongeldig) test.setLocationRelativeTo;
           (waar) test.setVisible;
        }
    });
 }
}
===================DndTest.java ends========================
==================JSequencePanel.java starts================

pakket juhan.exer.dnd;

de invoer java.awt. Grafiek;
de invoer java.awt. Graphics2D;
de invoer java.util.ArrayList;
de invoer java.util. Lijst;
de invoer javax.swing.JPanel;

/**
 *
 * @author juhshen
 */
de openbare klasse JSequencePanel breidt JPanel uit {

    privé moduleList List = nieuwe ArrayList ();

    openbare JSequencePanel () {
        super ();
    }

    @Override
    beschermde nietige paintComponent (Grafiek g) {
        super.paintComponent (g);
        voor (int. i=0; i
           

Antwoord : Java Gui, aangepaste objecten nadruk en resize

Het uitstekende artikel van Joe Hertvik's van de controle uit:

http://www.itjungle.com/tfh/tfh093002-story04.html

Als de interactieve gebruikers belemmerd om op het systeem tijdens eind van dag zijn te zijn, zou u kunnen nadenken eenvoudig beëindigend het interactieve subsysteem alvorens eind van dagverwerking te beginnen, en daarna opnieuw beginnend het.  De exploitanten zullen nog op de console en een ander die werkstation kunnen registreren wordt gevormd om in QCTL te activeren.

ENDSBS QINTER *IMMED
STRSBS QINTER

- Gary Patterson
Andere oplossingen  
 
programming4us programming4us