-
Bug
-
Resolution: Duplicate
-
P4
-
None
-
1.3.0
-
generic, x86
-
generic, windows_nt
tring ("cut"));
menuItem_Edit_Copy.setEnabled(false);
menuItem_Edit_Copy.setToolTipText(resourcesTooltips.getString ("copy"));
menuItem_Edit_Copy.setMnemonic((resourcesMnemonics.getString
("mnCopy")).charAt (0));
menuItem_Edit_Copy.setText(resourcesWindowTexts.getString ("copy"));
menuItem_Edit_Paste.setEnabled(false);
menuItem_Edit_Paste.setToolTipText(resourcesTooltips.getString ("paste"));
menuItem_Edit_Paste.setMnemonic((resourcesMnemonics.getString
("mnPaste")).charAt (0));
menuItem_Edit_Paste.setText(resourcesWindowTexts.getString ("paste"));
menuItem_Edit_InsertNewObject.setToolTipText(resourcesTooltips.getString
("insertNew"));
menuItem_Edit_InsertNewObject.setMnemonic((resourcesMnemonics.getString
("mnInsertNew")).charAt (0));
menuItem_Edit_InsertNewObject.setText(resourcesWindowTexts.getString
("insertNew"));
menuItem_Edit_SelectAllUnits.setToolTipText(resourcesTooltips.getString
("selectAll"));
menuItem_Edit_SelectAllUnits.setMnemonic((resourcesMnemonics.getString
("mnSelectAll")).charAt (0));
menuItem_Edit_SelectAllUnits.setText(resourcesWindowTexts.getString
("selectAll"));
menuItem_Edit_DeleteSelection.setEnabled(false);
menuItem_Edit_DeleteSelection.setToolTipText(resourcesTooltips.getString
("delete"));
menuItem_Edit_DeleteSelection.setMnemonic((resourcesMnemonics.getString
("mnDelete")).charAt (0));
menuItem_Edit_DeleteSelection.setText(resourcesWindowTexts.getString
("delete"));
menuItem_Edit_DeleteConnection.setToolTipText(resourcesTooltips.getString
("deleteConnection"));
menuItem_Edit_DeleteConnection.setMnemonic((resourcesMnemonics.getString
("mnDeleteConnection")).charAt (0));
menuItem_Edit_DeleteConnection.setText(resourcesWindowTexts.getString
("deleteConnection"));
// add menu items
menu_Edit.add(menuItem_Edit_Undo);
menu_Edit.addSeparator();
menu_Edit.add(menuItem_Edit_Cut);
menu_Edit.add(menuItem_Edit_Copy);
menu_Edit.add(menuItem_Edit_Paste);
menu_Edit.addSeparator();
menu_Edit.add(menuItem_Edit_InsertNewObject);
menu_Edit.addSeparator();
menu_Edit.add(menuItem_Edit_SelectAllUnits);
menu_Edit.addSeparator();
menu_Edit.add(menuItem_Edit_DeleteSelection);
menu_Edit.add(menuItem_Edit_DeleteConnection);
} // initMenuEdit
private void initMenuView () {
// prepare menu items
menu_View.setMnemonic((resourcesMnemonics.getString ("mnView")).charAt (0));
menu_View.setText(resourcesWindowTexts.getString ("view"));
menuItem_View_Toolbar.setToolTipText(resourcesTooltips.getString
("toolbar"));
menuItem_View_Toolbar.setSelected(true);
menuItem_View_Toolbar.setMnemonic((resourcesMnemonics.getString
("mnToolbar")).charAt (0));
menuItem_View_Toolbar.setText(resourcesWindowTexts.getString ("toolbar"));
menuItem_View_Statusbar.setToolTipText(resourcesTooltips.getString
("statusbar"));
menuItem_View_Statusbar.setSelected(true);
menuItem_View_Statusbar.setMnemonic((resourcesMnemonics.getString
("mnStatusbar")).charAt (0));
menuItem_View_Statusbar.setText(resourcesWindowTexts.getString
("statusbar"));
menuItem_View_Quickview.setToolTipText(resourcesTooltips.getString
("quickview"));
menuItem_View_Quickview.setMnemonic((resourcesMnemonics.getString
("mnQuickview")).charAt (0));
menuItem_View_Quickview.setText(resourcesWindowTexts.getString
("quickview"));
menuItem_View_ZoomToFit.setToolTipText(resourcesTooltips.getString
("zoomToFit"));
menuItem_View_ZoomToFit.setMnemonic((resourcesMnemonics.getString
("mnZoomToFit")).charAt (0));
menuItem_View_ZoomToFit.setText(resourcesWindowTexts.getString
("zoomToFit"));
// add menu items
menu_View.add(menuItem_View_Toolbar);
menu_View.add(menuItem_View_Statusbar);
menu_View.addSeparator();
menu_View.add(menuItem_View_Quickview);
menu_View.addSeparator();
menu_View.add(menuItem_View_ZoomToFit);
} // initMenuView
private void initMenuUnit () {
// prepare menu items
menu_Unit.setMnemonic((resourcesMnemonics.getString ("mnUnit")).charAt (0));
menu_Unit.setText(resourcesWindowTexts.getString ("unit"));
menuItem_Unit_Caster.setMnemonic((resourcesMnemonics.getString
("caster")).charAt (0));
menuItem_Unit_Caster.setText(resourcesWindowTexts.getString ("caster"));
menuItem_Unit_Caster.setToolTipText(resourcesTooltips.getString ("caster"));
menuItem_Unit_Caster.addActionListener(new
HybrexApplet_menuItem_Unit_Caster_actionAdapter(this));
menuItem_Unit_Submenu_Furnace.setMnemonic((resourcesMnemonics.getString
("furnace")).charAt (0));
menuItem_Unit_Submenu_Furnace.setText(resourcesWindowTexts.getString
("furnace"));
menuItem_Unit_Submenu_Furnace.setToolTipText(resourcesTooltips.getString
("furnace"));
menuItem_Unit_Submenu_Furnace_WalkingBeam.setMnemonic((resourcesMnemonics.getStr
ing ("walkingBeam")).charAt (0));
menuItem_Unit_Submenu_Furnace_WalkingBeam.setText(resourcesWindowTexts.getString
("walkingBeam"));
menuItem_Unit_Submenu_Furnace_WalkingBeam.setToolTipText(resourcesTooltips.getSt
ring ("walkingBeam"));
menuItem_Unit_SubMenu_Furnace_Reheating.setMnemonic((resourcesMnemonics.getStrin
g ("reheating")).charAt (0));
menuItem_Unit_SubMenu_Furnace_Reheating.setText(resourcesWindowTexts.getString
("reheating"));
menuItem_Unit_SubMenu_Furnace_Reheating.setToolTipText(resourcesTooltips.getStri
ng ("reheating"));
menuItem_Unit_RollerTable.setMnemonic((resourcesMnemonics.getString
("rollerTable")).charAt (0));
menuItem_Unit_RollerTable.setText(resourcesWindowTexts.getString
("rollerTable"));
menuItem_Unit_RollerTable.setToolTipText(resourcesTooltips.getString
("rollerTable"));
menuItem_Unit_Edger.setMnemonic((resourcesMnemonics.getString
("edger")).charAt (0));
menuItem_Unit_Edger.setText(resourcesWindowTexts.getString ("edger"));
menuItem_Unit_Edger.setToolTipText(resourcesTooltips.getString ("edger"));
menuItem_Unit_RoughingStand.setMnemonic((resourcesMnemonics.getString
("r_stand")).charAt (0));
menuItem_Unit_RoughingStand.setText(resourcesWindowTexts.getString
("r_stand"));
menuItem_Unit_RoughingStand.setToolTipText(resourcesTooltips.getString
("r_stand"));
menuItem_Unit_FinishStand.setMnemonic((resourcesMnemonics.getString
("f_stand")).charAt (0));
menuItem_Unit_FinishStand.setText(resourcesWindowTexts.getString
("f_stand"));
menuItem_Unit_FinishStand.setToolTipText(resourcesTooltips.getString
("f_stand"));
menuItem_Unit_Shear.setMnemonic((resourcesMnemonics.getString
("shear")).charAt (0));
menuItem_Unit_Shear.setText(resourcesWindowTexts.getString ("shear"));
menuItem_Unit_Shear.setToolTipText(resourcesTooltips.getString ("shear"));
menuItem_Unit_InterStandCooling.setMnemonic((resourcesMnemonics.getString
("interStandCooling")).charAt (0));
menuItem_Unit_InterStandCooling.setText(resourcesWindowTexts.getString
("interStandCooling"));
menuItem_Unit_InterStandCooling.setToolTipText(resourcesTooltips.getString
("interStandCooling"));
menuItem_Unit_CoolingSection.setMnemonic((resourcesMnemonics.getString
("coolingSection")).charAt (0));
menuItem_Unit_CoolingSection.setText(resourcesWindowTexts.getString
("coolingSection"));
menuItem_Unit_CoolingSection.setToolTipText(resourcesTooltips.getString
("coolingSection"));
menuItem_Unit_Coiler.setMnemonic((resourcesMnemonics.getString
("coiler")).charAt (0));
menuItem_Unit_Coiler.setText(resourcesWindowTexts.getString ("coiler"));
menuItem_Unit_Coiler.setToolTipText(resourcesTooltips.getString ("coiler"));
menuItem_Unit_Coilbox.setMnemonic((resourcesMnemonics.getString
("coilbox")).charAt (0));
menuItem_Unit_Coilbox.setText(resourcesWindowTexts.getString ("coilbox"));
menuItem_Unit_Coilbox.setToolTipText(resourcesTooltips.getString
("coilbox"));
menuItem_Unit_StripEditor.setMnemonic((resourcesMnemonics.getString
("stripEditor")).charAt (0));
menuItem_Unit_StripEditor.setText(resourcesWindowTexts.getString
("stripEditor"));
menuItem_Unit_StripEditor.setToolTipText(resourcesTooltips.getString
("stripEditor"));
menuItem_Unit_IterationLoop.setMnemonic((resourcesMnemonics.getString
("iterationLoop")).charAt (0));
menuItem_Unit_IterationLoop.setText(resourcesWindowTexts.getString
("iterationLoop"));
menuItem_Unit_IterationLoop.setToolTipText(resourcesTooltips.getString
("iterationLoop"));
menuItem_Unit_StripTracker.setMnemonic((resourcesMnemonics.getString
("stripTracker")).charAt (0));
menuItem_Unit_StripTracker.setText(resourcesWindowTexts.getString
("stripTracker"));
menuItem_Unit_StripTracker.setToolTipText(resourcesTooltips.getString
("stripTracker"));
menuItem_Unit_ResultBox.setEnabled(false);
menuItem_Unit_ResultBox.setText(resourcesWindowTexts.getString
("resultBox"));
menuItem_Unit_ResultBox.setMnemonic ((resourcesMnemonics.getString
("resultBox")).charAt (0));
menuItem_Unit_ResultBox.setToolTipText(resourcesTooltips.getString
("resultBox"));
// add menu times
menu_Unit.add(menuItem_Unit_Caster);
menu_Unit.add(menuItem_Unit_Submenu_Furnace);
menu_Unit.add(menuItem_Unit_RollerTable);
menu_Unit.add(menuItem_Unit_Edger);
menu_Unit.add(menuItem_Unit_RoughingStand);
menu_Unit.add(menuItem_Unit_FinishStand);
menu_Unit.add(menuItem_Unit_Shear);
menu_Unit.add(menuItem_Unit_InterStandCooling);
menu_Unit.add(menuItem_Unit_CoolingSection);
menu_Unit.add(menuItem_Unit_Coiler);
menu_Unit.add(menuItem_Unit_Coilbox);
menu_Unit.addSeparator();
menu_Unit.add(menuItem_Unit_StripEditor);
menu_Unit.add(menuItem_Unit_IterationLoop);
menu_Unit.add(menuItem_Unit_StripTracker);
menu_Unit.addSeparator();
menu_Unit.add(menuItem_Unit_ResultBox);
menuItem_Unit_Submenu_Furnace.add(menuItem_Unit_Submenu_Furnace_WalkingBeam);
menuItem_Unit_Submenu_Furnace.add(menuItem_Unit_SubMenu_Furnace_Reheating);
} // initMenuUnit
//Start the applet
public void start() {
}
//Stop the applet
public void stop() {
}
//Destroy the applet
public void destroy() {
}
//Get Applet information
public String getAppletInfo() {
return "Applet Information";
}
//Get parameter info
public String[][] getParameterInfo() {
String[][] pinfo =
{
{"Version", "String", "Program Version"},
};
return pinfo;
}
//Main method
public static void main(String[] args) {
HybrexApplet applet = new HybrexApplet();
applet.isStandalone = true;
JFrame frame = new JFrame();
//EXIT_ON_CLOSE == 3
frame.setDefaultCloseOperation(3);
frame.setTitle("Applet Frame");
frame.getContentPane().add(applet, BorderLayout.CENTER);
applet.init();
applet.start();
frame.setSize(400,320);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
frame.setLocation((d.width - frame.getSize().width) / 2, (d.height -
frame.getSize().height) / 2);
frame.setVisible(true);
}
//static initializer for setting look & feel
static {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
}
catch(Exception e) {
}
}
void menuItem_Unit_Caster_actionPerformed(ActionEvent e) {
System.out.println ("CASTER!!!");
}
}
class HybrexApplet_menuItem_Unit_Caster_actionAdapter implements
java.awt.event.ActionListener {
HybrexApplet adaptee;
HybrexApplet_menuItem_Unit_Caster_actionAdapter(HybrexApplet adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.menuItem_Unit_Caster_actionPerformed(e);
}
}
(Review ID: 108500)
======================================================================
Name: ks88420 Date: 08/24/2000
java version "1.3.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0-C)
Java HotSpot(TM) Client VM (build 1.3.0-C, mixed mode)
This happens when you use a floatable JToolBar in Windows (with Windows L&F).
To view the bug, follow the steps: Assign a tooltip to the any of the buttons
on the toolbar. Make the tip "longer" than the toolbar's width. Drag the
toolbar outside the window (to make it floating), and position the toolbar near
the (left) edge of the desktop. Put the mousepointer vertically somewhere in
the middle of the button, and wait for the tooltip to appear. The entire
toolbar starts shaking wildly, as the tooltip text is not fit inside the
desktop or toolbar! Kinda amusing but not good in a professional product.
Excetute this code and you'll see what I mean!
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Frame1 extends JFrame {
JPanel contentPane;
JToolBar jToolBar1 = new JToolBar();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
JTextArea jTextArea1 = new JTextArea();
//Construct the frame
public Frame1() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String argv[]) throws Exception{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
Frame1 frame = new Frame1();
frame.validate();
frame.setVisible(true);
}
//Component initialization
private void jbInit() throws Exception {
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(new BorderLayout());
this.setSize(new Dimension(450, 230));
jButton1.setToolTipText("This is a long tooltip-text that makes the entire
window very shaky" +
".......................................... Try to hold your mousepointer
over this button " +
"for a while.");
jButton1.setText("Error in tooltip");
jButton2.setToolTipText("This one works");
jButton2.setText("Correct tooltip");
jTextArea1.setWrapStyleWord(true);
jTextArea1.setLineWrap(true);
jTextArea1.setText("Drag the toolbar outside this window (make it
floating), and position " +
"it near an edge of your desktop. Then try to view the left button\'s " +
"tooltip by holding your mousepointer over it some seconds. When the " +
"tooltip tries to appear, it makes the entire toolbar shaky (as it
doesn't " +
"fit inside the desktop). The toolbar must be near the edge of the
desktop, " +
"and your mousepointer must be located vertically in the middle of the
button " +
"in order for the bug appear.");
jTextArea1.setEditable(false);
contentPane.add(jToolBar1, BorderLayout.NORTH);
jToolBar1.add(jButton1, null);
jToolBar1.add(jButton2, null);
contentPane.add(jTextArea1, BorderLayout.CENTER);
}
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
}
(Review ID: 108190)
======================================================================
Name: ks88420 Date: 08/24/2000
java version "1.3.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0-C)
Java HotSpot(TM) Client VM (build 1.3.0-C, mixed mode)
I have created a GUI which holds some menues. The text for the menues, Mnemonics as well as tooltip texts are extracted from property-files for
internationalization reasons. Nevertheless the same error will appear if you use simple strings. Try to run the program:
java de.siemens.atd.mp.jhybrex.visual.HybrexApplet
For this you have to create all the folders de/siemens/atd/mp/jhybrex/visual and place the following program HybrexApplet.java there. After compiling you have to
put the resource-bundles to classes/de/siemens/atd/mp/jhybrex/visual . I know this looks quite complicated. Therfore I have created a jar-File holding
the necessary files in the proper structure; Please email me and I'll send it to you!
you can run this by simply typing "java -cp jhybrex_bug.jar de.siemens.atd.mp.jhybrex.visual.HybrexApplet"
Go to menu Unit. The tooltips all work fine, despite the last one ("Ergebnisbox" ) and the last one in the submenu ("Ofen->Wiedererw?rmungsofen"). There the
tooltips sometimes appear, but mostly you just get some flickering effect under the cursor.
You even get an error after the flickering on the submenu, if you click some item in the Unit-menu and go again into the menu Unit! Despite
"Unit->Gie?anlange" listeners are not implemented yet! So this should have no effect!). I get the following error message:
Exception occurred during event dispatching:
java.lang.NullPointerException: null pData
at sun.awt.windows.WInputMethod.handleNativeIMEEvent(Native Method)
at sun.awt.windows.WInputMethod.dispatchEvent(WInputMethod.java:275)
at sun.awt.im.InputContext.dispatchEvent(InputContext.java:202)
at
sun.awt.im.InputMethodContext.dispatchEvent(InputMethodContext.java:177)
at java.awt.Component.dispatchEventImpl(Component.java:2529)
at java.awt.Container.dispatchEventImpl(Container.java:1213)
at java.awt.Component.dispatchEvent(Component.java:2499)
at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2451)
at
java.awt.LightweightDispatcher.trackMouseEnterExit(Container.java:2318)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2189)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2125)
at java.awt.Container.dispatchEventImpl(Container.java:1200)
at java.awt.Window.dispatchEventImpl(Window.java:912)
at java.awt.Component.dispatchEvent(Component.java:2499)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:319)
at
java.awt.EventDispatchThread.pumpOneEvent(EventDispatchThread.java:103)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:84)
///// SOURCE CODE:
Here is the code of HybrexApplet:
/**
* ?berschrift: JHybrex<p>
* Beschreibung: Internet client of Hybrex, a Siemens mill simulating
software<p>
* Copyright: Copyright (c) Stefan Roth<p>
* Organisation: TU Berlin, Siemens AG<p>
* @author Stefan Roth
* @version 1.0
*/
package de.siemens.atd.mp.jhybrex.visual;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;
import java.util.ResourceBundle;
import java.util.Locale;
public class HybrexApplet extends JApplet {
boolean isStandalone = false;
String APPAR_version;
/** The internationalization-resource-bundle for all windows-specific texts */
ResourceBundle resourcesWindowTexts;
ResourceBundle resourcesTooltips;
ResourceBundle resourcesDialog;
ResourceBundle resourcesMnemonics;
// attributes for the menu
JMenuBar mainMenuBar = new JMenuBar();
JMenu menu_File = new JMenu();
JMenuItem menuItem_File_New = new JMenuItem();
JMenuItem menuItem_File_Open = new JMenuItem();
JMenuItem menuItem_File_Close = new JMenuItem();
JMenuItem menuItem_File_Save = new JMenuItem();
JMenuItem menuItem_File_SaveAs = new JMenuItem();
JMenuItem menuItem_File_Print = new JMenuItem();
JMenuItem menuItem_File_PrintPreview = new JMenuItem();
JMenuItem menuItem_File_Exit = new JMenuItem();
JMenu menu_Edit = new JMenu();
JMenuItem menuItem_Edit_Undo = new JMenuItem();
JMenuItem menuItem_Edit_Cut = new JMenuItem();
JMenuItem menuItem_Edit_Copy = new JMenuItem();
JMenuItem menuItem_Edit_Paste = new JMenuItem();
JMenuItem menuItem_Edit_InsertNewObject = new JMenuItem();
JMenuItem menuItem_Edit_SelectAllUnits = new JMenuItem();
JMenuItem menuItem_Edit_DeleteSelection = new JMenuItem();
JMenuItem menuItem_Edit_DeleteConnection = new JMenuItem();
JMenu menu_View = new JMenu();
JCheckBoxMenuItem menuItem_View_Toolbar = new JCheckBoxMenuItem();
JCheckBoxMenuItem menuItem_View_Statusbar = new JCheckBoxMenuItem();
JMenuItem menuItem_View_Quickview = new JMenuItem();
JMenuItem menuItem_View_ZoomToFit = new JMenuItem();
JMenu menu_Unit = new JMenu();
JMenuItem menuItem_Unit_Caster = new JMenuItem();
JMenu menuItem_Unit_Submenu_Furnace = new JMenu();
JMenuItem menuItem_Unit_Submenu_Furnace_WalkingBeam = new JMenuItem();
JMenuItem menuItem_Unit_SubMenu_Furnace_Reheating = new JMenuItem();
JMenuItem menuItem_Unit_RollerTable = new JMenuItem();
JMenuItem menuItem_Unit_Edger = new JMenuItem();
JMenuItem menuItem_Unit_RoughingStand = new JMenuItem();
JMenuItem menuItem_Unit_FinishStand = new JMenuItem();
JMenuItem menuItem_Unit_Shear = new JMenuItem();
JMenuItem menuItem_Unit_InterStandCooling = new JMenuItem();
JMenuItem menuItem_Unit_CoolingSection = new JMenuItem();
JMenuItem menuItem_Unit_Coiler = new JMenuItem();
JMenuItem menuItem_Unit_Coilbox = new JMenuItem();
JMenuItem menuItem_Unit_StripEditor = new JMenuItem();
JMenuItem menuItem_Unit_IterationLoop = new JMenuItem();
JMenuItem menuItem_Unit_StripTracker = new JMenuItem();
JScrollPane scrollableTopLevelContainer = new JScrollPane();
JPanel mainPanel = new JPanel();
JButton jButton1 = new JButton();
JMenuItem menuItem_Unit_ResultBox = new JMenuItem();
//Get a parameter value
public String getParameter(String key, String def) {
return isStandalone ? System.getProperty(key, def) :
(getParameter(key) != null ? getParameter(key) : def);
}
//Construct the applet
public HybrexApplet() {
}
//Initialize the applet
public void init() {
try {
APPAR_version = this.getParameter("Version", "0.1");
}
catch(Exception e) {
e.printStackTrace();
}
try {
initFrame ();
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
/** This internal method is used to do initialization stuff apart from the
* JBuilders GUI Wizard. For example loading the property-files for
* internationalization purposes is done here.
*/
private void initFrame () {
// get current Locale
// TODO: Change this stuff; the Locale must be provided by the bean user!
//Locale currentLocale = Locale.getDefault ();
//Locale currentLocale = new Locale ("en", "US");
Locale currentLocale = new Locale ("de", "DE");
// get resource-bundle for windows texts
resourcesWindowTexts = ResourceBundle.getBundle
("de.siemens.atd.mp.jhybrex.visual.WindowTexts", currentLocale);
// get resource-bundle for tooltip texts
resourcesTooltips = ResourceBundle.getBundle
("de.siemens.atd.mp.jhybrex.visual.tooltips", currentLocale);
// get resource-bundle for dialogs
//resourcesDialog = ResourceBundle.getBundle
("de.siemens.atd.mp.jhybrex.visual.dialogs", currentLocale);
// get resource-bundle for mnemonics
resourcesMnemonics = ResourceBundle.getBundle
("de.siemens.atd.mp.jhybrex.visual.Mnemonics", currentLocale);
} // initFrame
//Component initialization
private void jbInit() throws Exception {
this.setSize(new Dimension(400,300));
// initialize all menues
initMenuFile ();
initMenuEdit ();
initMenuView ();
initMenuUnit ();
// prepare main panel for absolute positioning...
mainPanel.setLayout(null);
jButton1.setText("jButton1");
mainMenuBar.add(menu_File);
mainMenuBar.add(menu_Edit);
mainMenuBar.add(menu_View);
mainMenuBar.add(menu_Unit);
this.getContentPane().add(mainMenuBar, BorderLayout.NORTH);
this.getContentPane().add(scrollableTopLevelContainer, BorderLayout.SOUTH);
scrollableTopLevelContainer.getViewport().add(mainPanel, null);
} // jbInit
private void initMenuFile () {
// prepare menu items
menu_File.setMnemonic((resourcesMnemonics.getString("mnFile")).charAt (0));
menu_File.setText(resourcesWindowTexts.getString ("file"));
menuItem_File_New.setMnemonic((resourcesMnemonics.getString("mnNew")).charAt(0))
;
menuItem_File_New.setText(resourcesWindowTexts.getString ("new"));
menuItem_File_New.setToolTipText(resourcesTooltips.getString ("new"));
menuItem_File_Open.setMnemonic((resourcesMnemonics.getString("mnOpen")).charAt
(0));
menuItem_File_Open.setText(resourcesWindowTexts.getString ("open"));
menuItem_File_Open.setToolTipText(resourcesTooltips.getString ("open"));
menuItem_File_Close.setToolTipText(resourcesTooltips.getString ("close"));
menuItem_File_Close.setMnemonic((resourcesMnemonics.getString("mnClose")).charAt
(0));
menuItem_File_Close.setText(resourcesWindowTexts.getString ("close"));
menuItem_File_Save.setToolTipText(resourcesTooltips.getString ("save"));
menuItem_File_Save.setMnemonic((resourcesMnemonics.getString("mnSave")).charAt
(0));
menuItem_File_Save.setText(resourcesWindowTexts.getString ("save"));
menuItem_File_SaveAs.setToolTipText(resourcesTooltips.getString ("saveAs"));
menuItem_File_SaveAs.setMnemonic((resourcesMnemonics.getString("mnSaveAs")).char
At (0));
menuItem_File_SaveAs.setText(resourcesWindowTexts.getString ("saveAs"));
menuItem_File_Print.setToolTipText(resourcesTooltips.getString ("print"));
menuItem_File_Print.setMnemonic((resourcesMnemonics.getString("mnPrint")).charAt
(0));
menuItem_File_Print.setText(resourcesWindowTexts.getString ("print"));
menuItem_File_PrintPreview.setToolTipText(resourcesTooltips.getString
("printPrev"));
menuItem_File_PrintPreview.setMnemonic((resourcesMnemonics.getString("mnPrintPre
v")).charAt (0));
menuItem_File_PrintPreview.setText(resourcesWindowTexts.getString
("printPrev"));
menuItem_File_Exit.setToolTipText(resourcesTooltips.getString ("exit"));
menuItem_File_Exit.setMnemonic((resourcesMnemonics.getString("mnExit")).charAt
(0));
menuItem_File_Exit.setText(resourcesWindowTexts.getString ("exit"));
// add menu items
menu_File.add(menuItem_File_New);
menu_File.add(menuItem_File_Open);
menu_File.add(menuItem_File_Close);
menu_File.add(menuItem_File_Save);
menu_File.add(menuItem_File_SaveAs);
menu_File.addSeparator();
menu_File.add(menuItem_File_Print);
menu_File.add(menuItem_File_PrintPreview);
menu_File.addSeparator();
menu_File.add(menuItem_File_Exit);
} // initMenuFile
private void initMenuEdit () {
// prepare menu items
menu_Edit.setMnemonic((resourcesMnemonics.getString("mnEdit")).charAt (0));
menu_Edit.setText(resourcesWindowTexts.getString ("edit"));
menuItem_Edit_Undo.setEnabled(false);
menuItem_Edit_Undo.setToolTipText(resourcesTooltips.getString ("undo"));
menuItem_Edit_Undo.setMnemonic((resourcesMnemonics.getString("mnUndo")).charAt
(0));
menuItem_Edit_Undo.setText(resourcesWindowTexts.getString ("undo"));
menuItem_Edit_Cut.setEnabled(false);
menuItem_Edit_Cut.setToolTipText(resourcesTooltips.getString ("cut"));
menuItem_Edit_Cut.setMnemonic((resourcesMnemonics.getString
("mnCut")).charAt (0));
menuItem_Edit_Cut.setText(resourcesWindowTexts.getS
menuItem_Edit_Copy.setEnabled(false);
menuItem_Edit_Copy.setToolTipText(resourcesTooltips.getString ("copy"));
menuItem_Edit_Copy.setMnemonic((resourcesMnemonics.getString
("mnCopy")).charAt (0));
menuItem_Edit_Copy.setText(resourcesWindowTexts.getString ("copy"));
menuItem_Edit_Paste.setEnabled(false);
menuItem_Edit_Paste.setToolTipText(resourcesTooltips.getString ("paste"));
menuItem_Edit_Paste.setMnemonic((resourcesMnemonics.getString
("mnPaste")).charAt (0));
menuItem_Edit_Paste.setText(resourcesWindowTexts.getString ("paste"));
menuItem_Edit_InsertNewObject.setToolTipText(resourcesTooltips.getString
("insertNew"));
menuItem_Edit_InsertNewObject.setMnemonic((resourcesMnemonics.getString
("mnInsertNew")).charAt (0));
menuItem_Edit_InsertNewObject.setText(resourcesWindowTexts.getString
("insertNew"));
menuItem_Edit_SelectAllUnits.setToolTipText(resourcesTooltips.getString
("selectAll"));
menuItem_Edit_SelectAllUnits.setMnemonic((resourcesMnemonics.getString
("mnSelectAll")).charAt (0));
menuItem_Edit_SelectAllUnits.setText(resourcesWindowTexts.getString
("selectAll"));
menuItem_Edit_DeleteSelection.setEnabled(false);
menuItem_Edit_DeleteSelection.setToolTipText(resourcesTooltips.getString
("delete"));
menuItem_Edit_DeleteSelection.setMnemonic((resourcesMnemonics.getString
("mnDelete")).charAt (0));
menuItem_Edit_DeleteSelection.setText(resourcesWindowTexts.getString
("delete"));
menuItem_Edit_DeleteConnection.setToolTipText(resourcesTooltips.getString
("deleteConnection"));
menuItem_Edit_DeleteConnection.setMnemonic((resourcesMnemonics.getString
("mnDeleteConnection")).charAt (0));
menuItem_Edit_DeleteConnection.setText(resourcesWindowTexts.getString
("deleteConnection"));
// add menu items
menu_Edit.add(menuItem_Edit_Undo);
menu_Edit.addSeparator();
menu_Edit.add(menuItem_Edit_Cut);
menu_Edit.add(menuItem_Edit_Copy);
menu_Edit.add(menuItem_Edit_Paste);
menu_Edit.addSeparator();
menu_Edit.add(menuItem_Edit_InsertNewObject);
menu_Edit.addSeparator();
menu_Edit.add(menuItem_Edit_SelectAllUnits);
menu_Edit.addSeparator();
menu_Edit.add(menuItem_Edit_DeleteSelection);
menu_Edit.add(menuItem_Edit_DeleteConnection);
} // initMenuEdit
private void initMenuView () {
// prepare menu items
menu_View.setMnemonic((resourcesMnemonics.getString ("mnView")).charAt (0));
menu_View.setText(resourcesWindowTexts.getString ("view"));
menuItem_View_Toolbar.setToolTipText(resourcesTooltips.getString
("toolbar"));
menuItem_View_Toolbar.setSelected(true);
menuItem_View_Toolbar.setMnemonic((resourcesMnemonics.getString
("mnToolbar")).charAt (0));
menuItem_View_Toolbar.setText(resourcesWindowTexts.getString ("toolbar"));
menuItem_View_Statusbar.setToolTipText(resourcesTooltips.getString
("statusbar"));
menuItem_View_Statusbar.setSelected(true);
menuItem_View_Statusbar.setMnemonic((resourcesMnemonics.getString
("mnStatusbar")).charAt (0));
menuItem_View_Statusbar.setText(resourcesWindowTexts.getString
("statusbar"));
menuItem_View_Quickview.setToolTipText(resourcesTooltips.getString
("quickview"));
menuItem_View_Quickview.setMnemonic((resourcesMnemonics.getString
("mnQuickview")).charAt (0));
menuItem_View_Quickview.setText(resourcesWindowTexts.getString
("quickview"));
menuItem_View_ZoomToFit.setToolTipText(resourcesTooltips.getString
("zoomToFit"));
menuItem_View_ZoomToFit.setMnemonic((resourcesMnemonics.getString
("mnZoomToFit")).charAt (0));
menuItem_View_ZoomToFit.setText(resourcesWindowTexts.getString
("zoomToFit"));
// add menu items
menu_View.add(menuItem_View_Toolbar);
menu_View.add(menuItem_View_Statusbar);
menu_View.addSeparator();
menu_View.add(menuItem_View_Quickview);
menu_View.addSeparator();
menu_View.add(menuItem_View_ZoomToFit);
} // initMenuView
private void initMenuUnit () {
// prepare menu items
menu_Unit.setMnemonic((resourcesMnemonics.getString ("mnUnit")).charAt (0));
menu_Unit.setText(resourcesWindowTexts.getString ("unit"));
menuItem_Unit_Caster.setMnemonic((resourcesMnemonics.getString
("caster")).charAt (0));
menuItem_Unit_Caster.setText(resourcesWindowTexts.getString ("caster"));
menuItem_Unit_Caster.setToolTipText(resourcesTooltips.getString ("caster"));
menuItem_Unit_Caster.addActionListener(new
HybrexApplet_menuItem_Unit_Caster_actionAdapter(this));
menuItem_Unit_Submenu_Furnace.setMnemonic((resourcesMnemonics.getString
("furnace")).charAt (0));
menuItem_Unit_Submenu_Furnace.setText(resourcesWindowTexts.getString
("furnace"));
menuItem_Unit_Submenu_Furnace.setToolTipText(resourcesTooltips.getString
("furnace"));
menuItem_Unit_Submenu_Furnace_WalkingBeam.setMnemonic((resourcesMnemonics.getStr
ing ("walkingBeam")).charAt (0));
menuItem_Unit_Submenu_Furnace_WalkingBeam.setText(resourcesWindowTexts.getString
("walkingBeam"));
menuItem_Unit_Submenu_Furnace_WalkingBeam.setToolTipText(resourcesTooltips.getSt
ring ("walkingBeam"));
menuItem_Unit_SubMenu_Furnace_Reheating.setMnemonic((resourcesMnemonics.getStrin
g ("reheating")).charAt (0));
menuItem_Unit_SubMenu_Furnace_Reheating.setText(resourcesWindowTexts.getString
("reheating"));
menuItem_Unit_SubMenu_Furnace_Reheating.setToolTipText(resourcesTooltips.getStri
ng ("reheating"));
menuItem_Unit_RollerTable.setMnemonic((resourcesMnemonics.getString
("rollerTable")).charAt (0));
menuItem_Unit_RollerTable.setText(resourcesWindowTexts.getString
("rollerTable"));
menuItem_Unit_RollerTable.setToolTipText(resourcesTooltips.getString
("rollerTable"));
menuItem_Unit_Edger.setMnemonic((resourcesMnemonics.getString
("edger")).charAt (0));
menuItem_Unit_Edger.setText(resourcesWindowTexts.getString ("edger"));
menuItem_Unit_Edger.setToolTipText(resourcesTooltips.getString ("edger"));
menuItem_Unit_RoughingStand.setMnemonic((resourcesMnemonics.getString
("r_stand")).charAt (0));
menuItem_Unit_RoughingStand.setText(resourcesWindowTexts.getString
("r_stand"));
menuItem_Unit_RoughingStand.setToolTipText(resourcesTooltips.getString
("r_stand"));
menuItem_Unit_FinishStand.setMnemonic((resourcesMnemonics.getString
("f_stand")).charAt (0));
menuItem_Unit_FinishStand.setText(resourcesWindowTexts.getString
("f_stand"));
menuItem_Unit_FinishStand.setToolTipText(resourcesTooltips.getString
("f_stand"));
menuItem_Unit_Shear.setMnemonic((resourcesMnemonics.getString
("shear")).charAt (0));
menuItem_Unit_Shear.setText(resourcesWindowTexts.getString ("shear"));
menuItem_Unit_Shear.setToolTipText(resourcesTooltips.getString ("shear"));
menuItem_Unit_InterStandCooling.setMnemonic((resourcesMnemonics.getString
("interStandCooling")).charAt (0));
menuItem_Unit_InterStandCooling.setText(resourcesWindowTexts.getString
("interStandCooling"));
menuItem_Unit_InterStandCooling.setToolTipText(resourcesTooltips.getString
("interStandCooling"));
menuItem_Unit_CoolingSection.setMnemonic((resourcesMnemonics.getString
("coolingSection")).charAt (0));
menuItem_Unit_CoolingSection.setText(resourcesWindowTexts.getString
("coolingSection"));
menuItem_Unit_CoolingSection.setToolTipText(resourcesTooltips.getString
("coolingSection"));
menuItem_Unit_Coiler.setMnemonic((resourcesMnemonics.getString
("coiler")).charAt (0));
menuItem_Unit_Coiler.setText(resourcesWindowTexts.getString ("coiler"));
menuItem_Unit_Coiler.setToolTipText(resourcesTooltips.getString ("coiler"));
menuItem_Unit_Coilbox.setMnemonic((resourcesMnemonics.getString
("coilbox")).charAt (0));
menuItem_Unit_Coilbox.setText(resourcesWindowTexts.getString ("coilbox"));
menuItem_Unit_Coilbox.setToolTipText(resourcesTooltips.getString
("coilbox"));
menuItem_Unit_StripEditor.setMnemonic((resourcesMnemonics.getString
("stripEditor")).charAt (0));
menuItem_Unit_StripEditor.setText(resourcesWindowTexts.getString
("stripEditor"));
menuItem_Unit_StripEditor.setToolTipText(resourcesTooltips.getString
("stripEditor"));
menuItem_Unit_IterationLoop.setMnemonic((resourcesMnemonics.getString
("iterationLoop")).charAt (0));
menuItem_Unit_IterationLoop.setText(resourcesWindowTexts.getString
("iterationLoop"));
menuItem_Unit_IterationLoop.setToolTipText(resourcesTooltips.getString
("iterationLoop"));
menuItem_Unit_StripTracker.setMnemonic((resourcesMnemonics.getString
("stripTracker")).charAt (0));
menuItem_Unit_StripTracker.setText(resourcesWindowTexts.getString
("stripTracker"));
menuItem_Unit_StripTracker.setToolTipText(resourcesTooltips.getString
("stripTracker"));
menuItem_Unit_ResultBox.setEnabled(false);
menuItem_Unit_ResultBox.setText(resourcesWindowTexts.getString
("resultBox"));
menuItem_Unit_ResultBox.setMnemonic ((resourcesMnemonics.getString
("resultBox")).charAt (0));
menuItem_Unit_ResultBox.setToolTipText(resourcesTooltips.getString
("resultBox"));
// add menu times
menu_Unit.add(menuItem_Unit_Caster);
menu_Unit.add(menuItem_Unit_Submenu_Furnace);
menu_Unit.add(menuItem_Unit_RollerTable);
menu_Unit.add(menuItem_Unit_Edger);
menu_Unit.add(menuItem_Unit_RoughingStand);
menu_Unit.add(menuItem_Unit_FinishStand);
menu_Unit.add(menuItem_Unit_Shear);
menu_Unit.add(menuItem_Unit_InterStandCooling);
menu_Unit.add(menuItem_Unit_CoolingSection);
menu_Unit.add(menuItem_Unit_Coiler);
menu_Unit.add(menuItem_Unit_Coilbox);
menu_Unit.addSeparator();
menu_Unit.add(menuItem_Unit_StripEditor);
menu_Unit.add(menuItem_Unit_IterationLoop);
menu_Unit.add(menuItem_Unit_StripTracker);
menu_Unit.addSeparator();
menu_Unit.add(menuItem_Unit_ResultBox);
menuItem_Unit_Submenu_Furnace.add(menuItem_Unit_Submenu_Furnace_WalkingBeam);
menuItem_Unit_Submenu_Furnace.add(menuItem_Unit_SubMenu_Furnace_Reheating);
} // initMenuUnit
//Start the applet
public void start() {
}
//Stop the applet
public void stop() {
}
//Destroy the applet
public void destroy() {
}
//Get Applet information
public String getAppletInfo() {
return "Applet Information";
}
//Get parameter info
public String[][] getParameterInfo() {
String[][] pinfo =
{
{"Version", "String", "Program Version"},
};
return pinfo;
}
//Main method
public static void main(String[] args) {
HybrexApplet applet = new HybrexApplet();
applet.isStandalone = true;
JFrame frame = new JFrame();
//EXIT_ON_CLOSE == 3
frame.setDefaultCloseOperation(3);
frame.setTitle("Applet Frame");
frame.getContentPane().add(applet, BorderLayout.CENTER);
applet.init();
applet.start();
frame.setSize(400,320);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
frame.setLocation((d.width - frame.getSize().width) / 2, (d.height -
frame.getSize().height) / 2);
frame.setVisible(true);
}
//static initializer for setting look & feel
static {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
}
catch(Exception e) {
}
}
void menuItem_Unit_Caster_actionPerformed(ActionEvent e) {
System.out.println ("CASTER!!!");
}
}
class HybrexApplet_menuItem_Unit_Caster_actionAdapter implements
java.awt.event.ActionListener {
HybrexApplet adaptee;
HybrexApplet_menuItem_Unit_Caster_actionAdapter(HybrexApplet adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.menuItem_Unit_Caster_actionPerformed(e);
}
}
(Review ID: 108500)
======================================================================
Name: ks88420 Date: 08/24/2000
java version "1.3.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0-C)
Java HotSpot(TM) Client VM (build 1.3.0-C, mixed mode)
This happens when you use a floatable JToolBar in Windows (with Windows L&F).
To view the bug, follow the steps: Assign a tooltip to the any of the buttons
on the toolbar. Make the tip "longer" than the toolbar's width. Drag the
toolbar outside the window (to make it floating), and position the toolbar near
the (left) edge of the desktop. Put the mousepointer vertically somewhere in
the middle of the button, and wait for the tooltip to appear. The entire
toolbar starts shaking wildly, as the tooltip text is not fit inside the
desktop or toolbar! Kinda amusing but not good in a professional product.
Excetute this code and you'll see what I mean!
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Frame1 extends JFrame {
JPanel contentPane;
JToolBar jToolBar1 = new JToolBar();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
JTextArea jTextArea1 = new JTextArea();
//Construct the frame
public Frame1() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String argv[]) throws Exception{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
Frame1 frame = new Frame1();
frame.validate();
frame.setVisible(true);
}
//Component initialization
private void jbInit() throws Exception {
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(new BorderLayout());
this.setSize(new Dimension(450, 230));
jButton1.setToolTipText("This is a long tooltip-text that makes the entire
window very shaky" +
".......................................... Try to hold your mousepointer
over this button " +
"for a while.");
jButton1.setText("Error in tooltip");
jButton2.setToolTipText("This one works");
jButton2.setText("Correct tooltip");
jTextArea1.setWrapStyleWord(true);
jTextArea1.setLineWrap(true);
jTextArea1.setText("Drag the toolbar outside this window (make it
floating), and position " +
"it near an edge of your desktop. Then try to view the left button\'s " +
"tooltip by holding your mousepointer over it some seconds. When the " +
"tooltip tries to appear, it makes the entire toolbar shaky (as it
doesn't " +
"fit inside the desktop). The toolbar must be near the edge of the
desktop, " +
"and your mousepointer must be located vertically in the middle of the
button " +
"in order for the bug appear.");
jTextArea1.setEditable(false);
contentPane.add(jToolBar1, BorderLayout.NORTH);
jToolBar1.add(jButton1, null);
jToolBar1.add(jButton2, null);
contentPane.add(jTextArea1, BorderLayout.CENTER);
}
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
}
(Review ID: 108190)
======================================================================
Name: ks88420 Date: 08/24/2000
java version "1.3.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0-C)
Java HotSpot(TM) Client VM (build 1.3.0-C, mixed mode)
I have created a GUI which holds some menues. The text for the menues, Mnemonics as well as tooltip texts are extracted from property-files for
internationalization reasons. Nevertheless the same error will appear if you use simple strings. Try to run the program:
java de.siemens.atd.mp.jhybrex.visual.HybrexApplet
For this you have to create all the folders de/siemens/atd/mp/jhybrex/visual and place the following program HybrexApplet.java there. After compiling you have to
put the resource-bundles to classes/de/siemens/atd/mp/jhybrex/visual . I know this looks quite complicated. Therfore I have created a jar-File holding
the necessary files in the proper structure; Please email me and I'll send it to you!
you can run this by simply typing "java -cp jhybrex_bug.jar de.siemens.atd.mp.jhybrex.visual.HybrexApplet"
Go to menu Unit. The tooltips all work fine, despite the last one ("Ergebnisbox" ) and the last one in the submenu ("Ofen->Wiedererw?rmungsofen"). There the
tooltips sometimes appear, but mostly you just get some flickering effect under the cursor.
You even get an error after the flickering on the submenu, if you click some item in the Unit-menu and go again into the menu Unit! Despite
"Unit->Gie?anlange" listeners are not implemented yet! So this should have no effect!). I get the following error message:
Exception occurred during event dispatching:
java.lang.NullPointerException: null pData
at sun.awt.windows.WInputMethod.handleNativeIMEEvent(Native Method)
at sun.awt.windows.WInputMethod.dispatchEvent(WInputMethod.java:275)
at sun.awt.im.InputContext.dispatchEvent(InputContext.java:202)
at
sun.awt.im.InputMethodContext.dispatchEvent(InputMethodContext.java:177)
at java.awt.Component.dispatchEventImpl(Component.java:2529)
at java.awt.Container.dispatchEventImpl(Container.java:1213)
at java.awt.Component.dispatchEvent(Component.java:2499)
at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2451)
at
java.awt.LightweightDispatcher.trackMouseEnterExit(Container.java:2318)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2189)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2125)
at java.awt.Container.dispatchEventImpl(Container.java:1200)
at java.awt.Window.dispatchEventImpl(Window.java:912)
at java.awt.Component.dispatchEvent(Component.java:2499)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:319)
at
java.awt.EventDispatchThread.pumpOneEvent(EventDispatchThread.java:103)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:84)
///// SOURCE CODE:
Here is the code of HybrexApplet:
/**
* ?berschrift: JHybrex<p>
* Beschreibung: Internet client of Hybrex, a Siemens mill simulating
software<p>
* Copyright: Copyright (c) Stefan Roth<p>
* Organisation: TU Berlin, Siemens AG<p>
* @author Stefan Roth
* @version 1.0
*/
package de.siemens.atd.mp.jhybrex.visual;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;
import java.util.ResourceBundle;
import java.util.Locale;
public class HybrexApplet extends JApplet {
boolean isStandalone = false;
String APPAR_version;
/** The internationalization-resource-bundle for all windows-specific texts */
ResourceBundle resourcesWindowTexts;
ResourceBundle resourcesTooltips;
ResourceBundle resourcesDialog;
ResourceBundle resourcesMnemonics;
// attributes for the menu
JMenuBar mainMenuBar = new JMenuBar();
JMenu menu_File = new JMenu();
JMenuItem menuItem_File_New = new JMenuItem();
JMenuItem menuItem_File_Open = new JMenuItem();
JMenuItem menuItem_File_Close = new JMenuItem();
JMenuItem menuItem_File_Save = new JMenuItem();
JMenuItem menuItem_File_SaveAs = new JMenuItem();
JMenuItem menuItem_File_Print = new JMenuItem();
JMenuItem menuItem_File_PrintPreview = new JMenuItem();
JMenuItem menuItem_File_Exit = new JMenuItem();
JMenu menu_Edit = new JMenu();
JMenuItem menuItem_Edit_Undo = new JMenuItem();
JMenuItem menuItem_Edit_Cut = new JMenuItem();
JMenuItem menuItem_Edit_Copy = new JMenuItem();
JMenuItem menuItem_Edit_Paste = new JMenuItem();
JMenuItem menuItem_Edit_InsertNewObject = new JMenuItem();
JMenuItem menuItem_Edit_SelectAllUnits = new JMenuItem();
JMenuItem menuItem_Edit_DeleteSelection = new JMenuItem();
JMenuItem menuItem_Edit_DeleteConnection = new JMenuItem();
JMenu menu_View = new JMenu();
JCheckBoxMenuItem menuItem_View_Toolbar = new JCheckBoxMenuItem();
JCheckBoxMenuItem menuItem_View_Statusbar = new JCheckBoxMenuItem();
JMenuItem menuItem_View_Quickview = new JMenuItem();
JMenuItem menuItem_View_ZoomToFit = new JMenuItem();
JMenu menu_Unit = new JMenu();
JMenuItem menuItem_Unit_Caster = new JMenuItem();
JMenu menuItem_Unit_Submenu_Furnace = new JMenu();
JMenuItem menuItem_Unit_Submenu_Furnace_WalkingBeam = new JMenuItem();
JMenuItem menuItem_Unit_SubMenu_Furnace_Reheating = new JMenuItem();
JMenuItem menuItem_Unit_RollerTable = new JMenuItem();
JMenuItem menuItem_Unit_Edger = new JMenuItem();
JMenuItem menuItem_Unit_RoughingStand = new JMenuItem();
JMenuItem menuItem_Unit_FinishStand = new JMenuItem();
JMenuItem menuItem_Unit_Shear = new JMenuItem();
JMenuItem menuItem_Unit_InterStandCooling = new JMenuItem();
JMenuItem menuItem_Unit_CoolingSection = new JMenuItem();
JMenuItem menuItem_Unit_Coiler = new JMenuItem();
JMenuItem menuItem_Unit_Coilbox = new JMenuItem();
JMenuItem menuItem_Unit_StripEditor = new JMenuItem();
JMenuItem menuItem_Unit_IterationLoop = new JMenuItem();
JMenuItem menuItem_Unit_StripTracker = new JMenuItem();
JScrollPane scrollableTopLevelContainer = new JScrollPane();
JPanel mainPanel = new JPanel();
JButton jButton1 = new JButton();
JMenuItem menuItem_Unit_ResultBox = new JMenuItem();
//Get a parameter value
public String getParameter(String key, String def) {
return isStandalone ? System.getProperty(key, def) :
(getParameter(key) != null ? getParameter(key) : def);
}
//Construct the applet
public HybrexApplet() {
}
//Initialize the applet
public void init() {
try {
APPAR_version = this.getParameter("Version", "0.1");
}
catch(Exception e) {
e.printStackTrace();
}
try {
initFrame ();
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
/** This internal method is used to do initialization stuff apart from the
* JBuilders GUI Wizard. For example loading the property-files for
* internationalization purposes is done here.
*/
private void initFrame () {
// get current Locale
// TODO: Change this stuff; the Locale must be provided by the bean user!
//Locale currentLocale = Locale.getDefault ();
//Locale currentLocale = new Locale ("en", "US");
Locale currentLocale = new Locale ("de", "DE");
// get resource-bundle for windows texts
resourcesWindowTexts = ResourceBundle.getBundle
("de.siemens.atd.mp.jhybrex.visual.WindowTexts", currentLocale);
// get resource-bundle for tooltip texts
resourcesTooltips = ResourceBundle.getBundle
("de.siemens.atd.mp.jhybrex.visual.tooltips", currentLocale);
// get resource-bundle for dialogs
//resourcesDialog = ResourceBundle.getBundle
("de.siemens.atd.mp.jhybrex.visual.dialogs", currentLocale);
// get resource-bundle for mnemonics
resourcesMnemonics = ResourceBundle.getBundle
("de.siemens.atd.mp.jhybrex.visual.Mnemonics", currentLocale);
} // initFrame
//Component initialization
private void jbInit() throws Exception {
this.setSize(new Dimension(400,300));
// initialize all menues
initMenuFile ();
initMenuEdit ();
initMenuView ();
initMenuUnit ();
// prepare main panel for absolute positioning...
mainPanel.setLayout(null);
jButton1.setText("jButton1");
mainMenuBar.add(menu_File);
mainMenuBar.add(menu_Edit);
mainMenuBar.add(menu_View);
mainMenuBar.add(menu_Unit);
this.getContentPane().add(mainMenuBar, BorderLayout.NORTH);
this.getContentPane().add(scrollableTopLevelContainer, BorderLayout.SOUTH);
scrollableTopLevelContainer.getViewport().add(mainPanel, null);
} // jbInit
private void initMenuFile () {
// prepare menu items
menu_File.setMnemonic((resourcesMnemonics.getString("mnFile")).charAt (0));
menu_File.setText(resourcesWindowTexts.getString ("file"));
menuItem_File_New.setMnemonic((resourcesMnemonics.getString("mnNew")).charAt(0))
;
menuItem_File_New.setText(resourcesWindowTexts.getString ("new"));
menuItem_File_New.setToolTipText(resourcesTooltips.getString ("new"));
menuItem_File_Open.setMnemonic((resourcesMnemonics.getString("mnOpen")).charAt
(0));
menuItem_File_Open.setText(resourcesWindowTexts.getString ("open"));
menuItem_File_Open.setToolTipText(resourcesTooltips.getString ("open"));
menuItem_File_Close.setToolTipText(resourcesTooltips.getString ("close"));
menuItem_File_Close.setMnemonic((resourcesMnemonics.getString("mnClose")).charAt
(0));
menuItem_File_Close.setText(resourcesWindowTexts.getString ("close"));
menuItem_File_Save.setToolTipText(resourcesTooltips.getString ("save"));
menuItem_File_Save.setMnemonic((resourcesMnemonics.getString("mnSave")).charAt
(0));
menuItem_File_Save.setText(resourcesWindowTexts.getString ("save"));
menuItem_File_SaveAs.setToolTipText(resourcesTooltips.getString ("saveAs"));
menuItem_File_SaveAs.setMnemonic((resourcesMnemonics.getString("mnSaveAs")).char
At (0));
menuItem_File_SaveAs.setText(resourcesWindowTexts.getString ("saveAs"));
menuItem_File_Print.setToolTipText(resourcesTooltips.getString ("print"));
menuItem_File_Print.setMnemonic((resourcesMnemonics.getString("mnPrint")).charAt
(0));
menuItem_File_Print.setText(resourcesWindowTexts.getString ("print"));
menuItem_File_PrintPreview.setToolTipText(resourcesTooltips.getString
("printPrev"));
menuItem_File_PrintPreview.setMnemonic((resourcesMnemonics.getString("mnPrintPre
v")).charAt (0));
menuItem_File_PrintPreview.setText(resourcesWindowTexts.getString
("printPrev"));
menuItem_File_Exit.setToolTipText(resourcesTooltips.getString ("exit"));
menuItem_File_Exit.setMnemonic((resourcesMnemonics.getString("mnExit")).charAt
(0));
menuItem_File_Exit.setText(resourcesWindowTexts.getString ("exit"));
// add menu items
menu_File.add(menuItem_File_New);
menu_File.add(menuItem_File_Open);
menu_File.add(menuItem_File_Close);
menu_File.add(menuItem_File_Save);
menu_File.add(menuItem_File_SaveAs);
menu_File.addSeparator();
menu_File.add(menuItem_File_Print);
menu_File.add(menuItem_File_PrintPreview);
menu_File.addSeparator();
menu_File.add(menuItem_File_Exit);
} // initMenuFile
private void initMenuEdit () {
// prepare menu items
menu_Edit.setMnemonic((resourcesMnemonics.getString("mnEdit")).charAt (0));
menu_Edit.setText(resourcesWindowTexts.getString ("edit"));
menuItem_Edit_Undo.setEnabled(false);
menuItem_Edit_Undo.setToolTipText(resourcesTooltips.getString ("undo"));
menuItem_Edit_Undo.setMnemonic((resourcesMnemonics.getString("mnUndo")).charAt
(0));
menuItem_Edit_Undo.setText(resourcesWindowTexts.getString ("undo"));
menuItem_Edit_Cut.setEnabled(false);
menuItem_Edit_Cut.setToolTipText(resourcesTooltips.getString ("cut"));
menuItem_Edit_Cut.setMnemonic((resourcesMnemonics.getString
("mnCut")).charAt (0));
menuItem_Edit_Cut.setText(resourcesWindowTexts.getS
- duplicates
-
JDK-4303635 Global Menu Bar, Macintosh Look and Feel
-
- Resolved
-