Desktop
Website
Multimedia
Database
Security
Enterprise
Vraag : Het Probleem van de Boom GUI
De beste manier om mijn probleem te verklaren is als volgt…/>Please
You in werking stellen zullen zien een kleine GUI met een boom met twee knopen „panelen“ en „wijzen“ opduikt.
Step 1. Klik op om het even welk van deze takken met de rechtermuisknop het popup „alarm tot paneel“ en „zal leiden tot Alarm“ leiden.
Step 2. Breid nu om het even welke knopen (u zult r app1, app2 enz. zien) uit. 1.
Why is dat pop omhooggaand niet uit nu komt?
import java.awt.BorderLayout;
import java.awt. Comité;
import java.awt.event.ActionEvent
;
import java.awt.event.ActionListe
ner;
import java.awt.event.MouseAdapte
r;
import java.awt.event.MouseEvent;
import java.util.Lijst;
import javax.swing.BoxLayout;
import javax.swing.JLabel;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.JTree;
import javax.swing.event.TreeSele
ctionEvent
;
import javax.swing.event.TreeSele
ctionListe
ner;
import javax.swing.tree.DefaultMu
tableTreeN
ode;
import javax.swing.tree.DefaultTr
eeModel;
import javax.swing.tree.TreePath;
import javax.swing.tree.TreeSelec
tionModel;de
public klasse MonitorPanel breidt de instrumenten TreeSelectionListener van het Comité {
privé JPanel configPanel = nieuwe JPanel () uit;
privé JLabel configPathLabel = nieuwe JLabel („Weg“);
privé JTextField configPathField = nieuwe JTextField (20);
privé JLabel configModeLabel = nieuwe JLabel („Wijze“);
privé JTextField configModeField = nieuwe JTextField (2);
//
privé DefaultMutableTreeNode rootNode = nieuwe DefaultMutableTreeNode („to
p“);
privé DefaultMutableTreeNode apModes = nieuwe DefaultMutableTreeNode („pa
nels“);
privé DefaultMutableTreeNode alarmsNode = nieuwe DefaultMutableTreeNode („mo
des“);
privé DefaultTreeModel treeModel = nieuwe DefaultTreeModel (rootNode)
; boom
privé JTree;
privé JScrollPane treePane;
privé CAPopupMenu caPopup = nieuwe CAPopupMenu ();
privé CAPPopupMenu capPopup = nieuwe CAPPopupMenu ();
//////////////////////////
//////////
//////////
//////////
//////////
//////////
//
/** construeert een instantie. */
openbare MonitorPanel () {
// draad config panel
configPanel.setLayout (nieuwe BoxLayout (configPanel, BoxLayout.LINE_AXIS));
configPanel.add (configPath
Label);
configPanel.add (configPath
Field);
configPanel.add (configMode
Label);
configPanel.add (configMode
Field);
configPathField.setEditabl
e;
configModeField.setEditabl
e;
// draad tree
rootNode.add (apModes);
rootNode.add (alarmsNode); /> boom
tree.setRootVisible (valse)
;
tree.setShowsRootHandles (t
rue);
tree.getSelectionModel () .s
etSelectio
nMode (Tree
SelectionM
odel.SINGL
E_TREE_SEL
ECTION);
treePane = nieuwe JScrollPane (boom);
//
setLayout (nieuwe BorderLayout ());
voegt toe (configPanel, BorderLayout.NORTH);
voegt toe (treePane, BorderLayout.CENTER);
//
tree.addMouseListener (nieuwe MyMouseListener ()); /> openbare nietige setConfigPath
}
configPathField.setText (pa
th); /> openbare nietige setConfigMode
}
configModeField.setText (mo
de ongeldige ==? "": wijze); /> openbare nietige setAlarmPanelNames
}
ring>) {
apModes.removeAllChildren (
);
// namen wordt geplaatst aan huidige list
voor (de naam die van het Koord: naam) {
addAPName (valse naam,);
}
}
openbare DefaultMutableTreeNode addAPName (Koord alarmPanelName, shouldBeVisible van Boole) {
DefaultMutableTreeNode childNode = nieuwe DefaultMutableTreeNode (ala
rmPanelNam
e);
treeModel.insertNodeInto (c
hildNode, apModes, apModes.getChildCount ());
als (shouldBeVisible) {
tree.scrollPathToVisible (n
ew TreePath (childNode.getPath
())); /> terugkeer
}
openbare nietige setAlarmNames
}
namen List
alarmsNode.removeAllChildr
en ();
// namen wordt geplaatst aan huidige list
voor (de naam die van het Koord: naam) {
addAlarmName (valse naam,);
}
}
openbare DefaultMutableTreeNode addAlarmName (Koord alarmName, shouldBeVisible van Boole) {
DefaultMutableTreeNode childNode = nieuwe DefaultMutableTreeNode (ala
rmName);
treeModel.insertNodeInto (c
hildNode, alarmsNode, alarmsNode.getChildCount ()
);
als (shouldBeVisible) {
tree.scrollPathToVisible (n
ew TreePath (childNode.getPath
())); /> terugkeer
}
@Override
de openbare leegte
}
Event e) {
//Returns het laatste wegelement van de selection.
//This methode is nuttig slechts wanneer het selectiemodel één enkele selection.
DefaultMutableTreeNode knoop = (DefaultMutableTreeNode) tree.getLastSelectedPathCo
mponent toestaat ();
als (ongeldige knoop ==) //Nothing selected.
is {/> terugkeer
}
System.out.println („TreeSe
lectionLis
tener.valu
eChanged ()
: node=“ + node.getUserObject ()); de
}
//////////////////////////
//////////
//////////
//////////
//////////
//////////
//
privé statische klasse MyDefaultMutableTreeNode breidt DefaultMutableTreeNode {
openbare MyDefaultMutableTreeNode (O
bject userObject) uit {super
(userObject); /> @Override
openbare isLeaf
}
valse terugkeer
}
}
//////////////////////////
//////////
//////////
//////////
//////////
//////////
//
/**
* letten op verzoek om popup
*/
de privé klasse MyMouseListener MouseAdapter uitbreidt {mousePressed/>
@Override
openbare leegte
maybeShowPopup (e); /> @Override
de openbare leegte
}
maybeShowPopup (e); /> privé nietige maybeShowPopup
}
als (e.isPopupTrigger ()) {
TreePath selPath = tree.getPathForLocation (e.
getX (), e.getY ());
als (selPath! = verklaar) nietig {
DefaultMutableTreeNode knoop = (DefaultMutableTreeNode) selPath.getLastPathCompone
nt ();
als (node.equals (alarmsNode)) {
System.out.println („select
ed alarmknoop“);
caPopup.sh ow (e.getComponen
t (), e.getX (), e.getY ());
} anders als (node.equals (apModes)) {
System.out.println („select
ed de knoop van alarmpanelen“);
capPopup.sh ow (e.getCompone
nt (), e.getX (), e.getY ());
} anders als (alarmsNode.isNodeChild (no
de)) {
System.out.println („select
ed alarmknoop“);
} anders als (apModes.isNodeChild (knoop)
) {
System.out.println („select
ed de knoop van het alarmpaneel“); de
}
}
}
}
}
//////////////////////////
//////////
//////////
//////////
//////////
//////////
//
privé klasse CAPopupMenu breidt JPopupMenu {
privé JMenuItem selectAlarmMenuItem = nieuwe JMenuItem („cre�ër Alarm“) uit;
openbare CAPopupMenu () {
voegt toe (selectAlarmMenuItem);
selectAlarmMenuItem.addAct
ionListene
r (nieuwe ActionListener () {actionPerformed/>
openbare leegte
t e) {
System.out.println („creati
ng alarm“);
}
}); de
}
} //////////////////////////
//////////
//////////
//////////
//////////
//////////
//
privé klasse CAPPopupMenu breidt JPopupMenu {
privé JMenuItem selectAlarmMenuItem = nieuwe JMenuItem („cre�ër het Comité van het Alarm“) uit;
openbare CAPPopupMenu () {
voegt toe (selectAlarmMenuItem);
selectAlarmMenuItem.addAct
ionListene
r (nieuwe ActionListener () {actionPerformed/>
openbare leegte
t e) {
System.out.println („creati
ng alarmpaneel“);
}
});
}
}
}
==========================
==========
==========
==========
==========
====
import java.awt. Component;
import java.awt. Afmeting;
import java.awt. Toolkit;
import java.util. Series;
import javax.swing.JFrame;
public klasse RunMonitorPanel {
/** een instantie. /> * het Centrum */
openbare RunMonitorPanel () {
}
/**
* @param doel screen.
*/
privé statische leegte te zijn centerOnScreen (het doel van de Component) {
als (doel! = ongeldig) {/> de Afmeting
) .getScree
nSize (); /> de Afmeting
als (targetSize.height > screenSize.height) {
targetSize.height = screenSize.height;
}
als (targetSize.width > screenSize.width) {
targetSize.width = screenSize.width;
}
int. x = (screenSize.width - targetSize.width)/2;
int. y = (screenSize.height - targetSize.height)/2;
target.setLocation (x, y);
}
}
/**
* leidt en toont tot GUI.
*/
privé statische nietige createAndShowGUI () {
//Create en opstelling het window.
JFrame kader = nieuwe JFrame („MonitorPanel“);
frame.setDefaultCloseOpera
tion (JFram
e.EXIT_ON_
CLOSE);
// Opstelling het tevreden pane.
MonitorPanel paneel = nieuwe MonitorPanel ();
frame.getContentPane () .add
(paneel);
// plaatste sommige waarden voor display
panel.setConfigPath (“ /tmp/
config ");
panel.setConfigMode („rw“); /> Koord
panel.setAlarmNames (/>.asList Arrays
armNames))
; /> Koord
panel.setAlarmPanelNames (A
rrays.asLi
st (alarmPa
nelNames))
; het
// Pak en toont window.
frame.pack ();
centerOnScreen (kader); (ware)
frame.setVisible;
}
/**
* leidt en toont tot GUI.
*/
openbare statische nietige leiding (Koord [] args) {
javax.swing.SwingUtilities
.invokeLat
er (nieuwe Jaagbaar () {/> openbare in werking gestelde leegte
createAndShowGUI ();
}
});
}
}
==========================
==========
==========
==========
==========
Antwoord : Het Probleem van de Boom GUI
Ik veronderstel het minus 45 zou moeten zijn:
WAAR providerID BINNEN („A000000015210B“, „A000000003731B
“)
EN Input_Date <� DATEADD="">
of
WAAR providerID BINNEN („A000000015210B“, „A000000003731B
“)
EN Received_Date > DATEADD (dag, 45, Input_Date)
Andere oplossingen
Somebody verzendt emialsvorm mijn hotmailrekening
een programma probeert om het volgende e-mailbericht uit uw naam te verzenden - de Levende post van Vensters
Kleine Statische IP Bedrijfs van de Server 2008 verandering
sharepoint stichting 2010 op met 32 bits?
Word 2003 die - met lijsten, rijen, en cellen werken
Navigeer aan de pagina van een specifiek punt op een gridview
Hyperlink die het diagram/de Tekening activeren
Apple iWeb - hoe te om HTML aan Schijf de website via FTP te publiceren te bewaren of?
sql - datumformaat
Het van een lus voorzien over de tellers van googlekaarten v3