Desktop
Website
Multimedia
Database
Security
Enterprise
Pergunta : Problema da árvore do GUI
A melhor maneira de explicar meu problema é como segue… o
Please compila as duas limas MonitorPanel e RunMonitorPanel e funciona o RunMonitorPanel class.
You considerará que um GUI pequeno estala acima com uma árvore com dois nós “painéis” e “modalidades”. direita do
Step 1. - estalar sobre qualqueras um filiais que emergente “criará o painel de alarme” e “criar o alarme”.
Step 2. Expandir agora alguns dos nós (você r verá app1, app2 etc.). Faz o
Why de etapa 1. é que o PNF acima não está saindo agora?
import java.awt.BorderLayout;
import java.awt. Painel;
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.Lista;
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;a classe MonitorPanel do
public do
do
estende instrumentos TreeSelectionListener do painel {configPanel confidencial do
JPanel do
= JPanel novo (); configPathLabel confidencial do
JLabel = JLabel novo (“trajeto”); configPathField confidencial do
JTextField = JTextField novo (20); configModeLabel confidencial do
JLabel = JLabel novo (“modalidade”); configModeField confidencial do
JTextField = JTextField novo (2); rootNode confidencial do
DefaultMutableTreeNode do
// = DefaultMutableTreeNode novo (“to
p”); apModes confidenciais do
DefaultMutableTreeNode = DefaultMutableTreeNode novo (“pa
nels”); alarmsNode confidencial do
DefaultMutableTreeNode = DefaultMutableTreeNode novo (“mo
des”); treeModel confidencial do
DefaultTreeModel =
de DefaultTreeModel (rootNode); árvore confidencial do
JTree; treePane confidencial do
JScrollPane; caPopup confidencial do
CAPopupMenu = CAPopupMenu novo (); capPopup confidencial do
CAPPopupMenu = CAPPopupMenu novo ();
//////////
//////////
//////////
//////////
//////////
//
do
///////////////////////////** construções um exemplo. */
MonitorPanel público () {fio do
// o panel
configPanel.setLayout dos config (BoxLayout novo (configPanel, BoxLayout.LINE_AXIS));
configPanel.add (configPath
Label);
configPanel.add (configPath
Field);
configPanel.add (configMode
Label);
configPanel.add (configMode
Field);
configPathField.setEditabl
e (falso);
configModeField.setEditabl
e (falso); fio do
// o tree
rootNode.add (apModes);
rootNode.add (alarmsNode); árvore do
= JTree novo (treeModel);
do
tree.setRootVisible;
tree.setShowsRootHandles (t
rue);
tree.getSelectionModel () .s
etSelectio
nMode (Tree
SelectionM
odel.SINGL
E_TREE_SEL
ECTION); treePane do
do
= JScrollPane novo (árvore); setLayout do
do
// (BorderLayout novo ()); o
adiciona (configPanel, BorderLayout.NORTH); o
adiciona (treePane, BorderLayout.CENTER);
tree.addMouseListener do
// (MyMouseListener novo ()); setConfigPath do vácuo do público do
do
} (trajeto) {
configPathField.setText da corda (pa
th); setConfigMode do vácuo do público do
do
} (modalidade) {
configModeField.setText da corda (zero do == do mo
de? "": modalidade); setAlarmPanelNames do vácuo do público do
do
} (nomes) {
apModes.removeAllChildren de List
ring> (
); nomes ajustados do
// ao list
para (nome da corda: nomes) {addAPName do
(nome, falsos); addAPName público do
DefaultMutableTreeNode do
do
}} (alarmPanelName da corda, shouldBeVisible bôoleano) {childNode do
DefaultMutableTreeNode = DefaultMutableTreeNode novo (ala
rmPanelNam
e);
treeModel.insertNodeInto (c
hildNode, apModes, apModes.getChildCount ());
se (shouldBeVisible) {
tree.scrollPathToVisible (n
ew TreePath (childNode.getPath
())); childNode do retorno do
do
}; setAlarmNames do vácuo do público do
do
} (nomes) {
alarmsNode.removeAllChildr
en de List
(); nomes ajustados do
// ao list
para (nome da corda: nomes) {addAlarmName do
(nome, falsos); addAlarmName público do
DefaultMutableTreeNode do
do
}} (alarmName da corda, shouldBeVisible bôoleano) {childNode do
DefaultMutableTreeNode = DefaultMutableTreeNode novo (ala
rmName);
treeModel.insertNodeInto (c
hildNode, alarmsNode,
de alarmsNode.getChildCount ());
se (shouldBeVisible) {
tree.scrollPathToVisible (n
ew TreePath (childNode.getPath
())); childNode do retorno do
do
}; vácuo do público do @Override
do
do
} valueChanged (TreeSelection
Event e) {o
//Returns o último elemento do trajeto do método de selection.
//This é útil somente quando o modelo de seleção permitir um único nó de selection.
DefaultMutableTreeNode = (DefaultMutableTreeNode) tree.getLastSelectedPathCo
mponent ();
se (zero do == do nó) //Nothing é selected.
{retorno do
;
System.out.println do
} (de “
TreeSe
lectionLis
tener.valu
eChanged (): node=” + node.getUserObject ()); a classe de estática confidencial MyDefaultMutableTreeNode do
//////////
//////////
//////////
//////////
//////////
//
do
////////////////////////// do
} estende DefaultMutableTreeNode {
MyDefaultMutableTreeNode público (userObject) {
de O
bject super (userObject); isLeaf bôoleano público do @Override
do
do
} () {falso do retorno do
; o
//////////
//////////
//////////
//////////
//////////
//
do
////////////////////////// do
do
}}/** o
* aguarda até escutar o pedido mostrar ao popup
*/
a classe que confidencial MyMouseListener estende MouseAdapter {vácuo do público do @Override
do
mousePressed (MouseEvent e) {maybeShowPopup do
(e); o vácuo do público do @Override
do
do
} mouseReleased (MouseEvent e) {maybeShowPopup do
(e); maybeShowPopup vago confidencial do
do
} (MouseEvent e) {
se (e.isPopupTrigger ()) {selPath do
TreePath do
= tree.getPathForLocation (e.
getX (), e.getY ());
do
se (selPath! = anular) {nó do
DefaultMutableTreeNode = (DefaultMutableTreeNode) selPath.getLastPathCompone
nt ();
se (node.equals (alarmsNode)) {
System.out.println (o “select
ed alarma o nó”); ow do
caPopup.sh (e.getComponen
t (), e.getX (), e.getY ());
} mais se (node.equals (apModes)) {
System.out.println (do “nó dos painéis de alarme select
ed”); ow do
capPopup.sh (e.getCompone
nt (), e.getX (), e.getY ());
} mais se (alarmsNode.isNodeChild (no
de)) {
System.out.println (do “nó do alarme select
ed”);
} mais se (
) {
System.out.println de apModes.isNodeChild (nó) (do “nó do painel de alarme select
ed”); a classe confidencial CAPopupMenu do
//////////
//////////
//////////
//////////
//////////
//
do
////////////////////////// do
do
do
do
do
do
}}}}} estende JPopupMenu {selectAlarmMenuItem confidencial do
JMenuItem = JMenuItem novo (“criar o alarme”);
CAPopupMenu público () {o
adiciona (selectAlarmMenuItem);
selectAlarmMenuItem.addAct
ionListene
r (ActionListener novo () {vácuo do público do
actionPerformed (ActionEven
t e) {
System.out.println (do “alarme creati
ng”);
do
}}); a classe confidencial CAPPopupMenu do
//////////
//////////
//////////
//////////
//////////
//
do
} do
} ////////////////////////// estende JPopupMenu {selectAlarmMenuItem confidencial do
JMenuItem = JMenuItem novo (“criar o painel de alarme”);
CAPPopupMenu público () {o
adiciona (selectAlarmMenuItem);
selectAlarmMenuItem.addAct
ionListene
r (ActionListener novo () {vácuo do público do
actionPerformed (ActionEven
t e) {
System.out.println (do “painel de alarme creati
ng”);
do
}});
==========================
==========
==========
==========
==========
====
import java.awt do
do
do
}}}. Componente;
import java.awt. Dimensão;
import java.awt. Conjunto de ferramentas;
import java.util. Disposições;
import javax.swing.JFrame; classe RunMonitorPanel do
public {
/** construir um exemplo. o
de */
RunMonitorPanel () {
}/** o
* centrar um componente no screen.
* o alvo do @param o componente a ser vácuo confidencial da estática de centered.
*/
centerOnScreen (alvo componente) {
se (alvo! = anular) {dimensão do
screenSize = Toolkit.getDefaultToolkit (
) .getScree
nSize (); A dimensão do
targetSize = target.getSize ();
se (targetSize.height > screenSize.height) {
targetSize.height = screenSize.height;
do
} se (targetSize.width > screenSize.width) {
targetSize.width = screenSize.width;
}
int x = (screenSize.width -) de targetSize.width/2;
int y = (screenSize.height -) de targetSize.height/2;
target.setLocation (x, y); o
do
do
}}/** o
* criar e mostrar ao GUI.
*/
o createAndShowGUI vago de estática confidencial () {o
//Create e setup o frame de window.
JFrame = JFrame novo (“MonitorPanel”);
frame.setDefaultCloseOpera
tion (JFram
e.EXIT_ON_
CLOSE); o
// setup o painel do índice pane.
MonitorPanel = MonitorPanel novo ();
frame.getContentPane () .add
(painel); o
// ajustou alguns valores para o display
panel.setConfigPath (” /tmp/
config ");
panel.setConfigMode (“RW”); alarmNames da corda do
[] = {“a1”, “a2”, “a3”};
panel.setAlarmNames (Arrays
.asList (al
armNames))
; alarmPanelNames da corda do
[] = {“ap1”, “ap2”, “ap3”};
panel.setAlarmPanelNames (A
rrays.asLi
st (alarmPa
nelNames))
; o bloco do
// e mostra o window.
frame.pack (); o
centerOnScreen (quadro);
frame.setVisible (verdadeiro); o
do
}/** o
* criar e mostrar ao GUI.
*/
o vácuo público da estática principal (args) {
javax.swing.SwingUtilities
.invokeLat
er da corda [] (praticável novo () {vácuo do público do
funcionam () {createAndShowGUI do
();
do
}});
==========================
==========
==========
==========
==========
do
do
}} class= do
Resposta : Problema da árvore do GUI
Eu supor que deve ser menos 45:
ONDE providerID DENTRO (“A000000015210B”, “A000000003731B
")
E Input_Date <� DATEADD="">
ou
ONDE providerID DENTRO (“A000000015210B”, “A000000003731B
")
E Received_Date > DATEADD (dia, 45, Input_Date)
Outras soluções
Perguntas da entrevista do certificado de Shell da festança
lima de .vmdk
Como encontrar a contagem da fileira em Oracle DataReader em ASP.NET?
Excitador do bluetooth BCM2045 do inspiron 1720 de Dell para o profissional de Windows Xp.
Como conseguir o lightbox mostrar sobre a bandeira instantânea?
Fora do escritório o assistente que não trabalha w/Forwarding configurou
Redistribuindo o RASGO em subnets non-contiguous do OSPF.
líquidos de corpo após a sessão da natação
SQL0952N
Criando um vbscript para a chave do registro - IRPStackSize