Вопрос : Проблема вала GUI

Самая лучшая дорога объяснить мою проблему следующим образом…
Please составляет 2 архива MonitorPanel и RunMonitorPanel и бежит RunMonitorPanel class.

You увидит малый GUI хлопает вверх с валом с 2 узлами «панелями» и «режимами». право

Step 1. - щелкните дальше любыми из этих ветвями, котор оно всплывающе «создаст панель сигнала тревоги» и «создайте сигнал тревоги».

Step 2. Теперь расширьте любые узлы (вы r увидите app1, app2 etc). Делает

Why раздела 1. что шипучка вверх не приходит вне теперь?

import java.awt.BorderLayout;
import java.awt. Панель;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Список;
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.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreePath;
import javax.swing.tree.TreeSelectionModel;тип MonitorPanel
public

расширяет инструменты TreeSelectionListener панели {configPanel
приватное JPanel

= новое JPanel (); configPathLabel
приватное JLabel = новое JLabel («курс»); configPathField
приватное JTextField = новое JTextField (20); configModeLabel
приватное JLabel = новое JLabel («режим»); configModeField
приватное JTextField = новое JTextField (2); rootNode
приватное DefaultMutableTreeNode
// = новое DefaultMutableTreeNode («top»); apModes
приватные DefaultMutableTreeNode = новое DefaultMutableTreeNode («panels»); alarmsNode
приватное DefaultMutableTreeNode = новое DefaultMutableTreeNode («modes»); treeModel
приватное DefaultTreeModel = новое DefaultTreeModel (rootNode); вал
приватный JTree; treePane
приватное JScrollPane; caPopup
приватное CAPopupMenu = новое CAPopupMenu (); capPopup
приватное CAPPopupMenu = новое CAPPopupMenu (); ////////////////////////////////////////////////////


///////////////////////////** стройки пример. */
общественное MonitorPanel () {провод
// panel
configPanel.setLayout config (новое BoxLayout (configPanel, BoxLayout.LINE_AXIS));
configPanel.add (configPathLabel);
configPanel.add (configPathField);
configPanel.add (configModeLabel);
configPanel.add (configModeField);
configPathField.setEditable (ложное);
configModeField.setEditable (ложное); провод
// tree
rootNode.add (apModes);
rootNode.add (alarmsNode); вал
= новое JTree (treeModel);
tree.setRootVisible (ложное);
tree.setShowsRootHandles (true);
tree.getSelectionModel () .setSelectionMode (TreeSelectionModel.SINGLE_TREE_SELECTION); treePane

= новое JScrollPane (вал); setLayout

// (новое BorderLayout ());
добавляет (configPanel, BorderLayout.NORTH);
добавляет (treePane, BorderLayout.CENTER);
tree.addMouseListener
// (новое MyMouseListener ()); setConfigPath свободного пространства публики


} (курс) {
configPathField.setText шнура (path); setConfigMode свободного пространства публики


} (режим) {
configModeField.setText шнура (null == mode? "": режим); setAlarmPanelNames свободного пространства публики


} (имена) {
apModes.removeAllChildren Listring> (); имена
// установленные к в настоящее время list
для (имя шнура: имена) {addAPName
(имя, ложные); addAPName

общественное DefaultMutableTreeNode

}} (alarmPanelName шнура, булевское shouldBeVisible) {childNode
DefaultMutableTreeNode = новое DefaultMutableTreeNode (alarmPanelName);

treeModel.insertNodeInto (childNode, apModes, apModes.getChildCount ());

если (shouldBeVisible), то {
tree.scrollPathToVisible (new TreePath (childNode.getPath ())); childNode


} возвращенное; setAlarmNames свободного пространства публики


} (имена) {
alarmsNode.removeAllChildren List (); имена
// установленные к в настоящее время list
для (имя шнура: имена) {addAlarmName
(имя, ложные); addAlarmName

общественное DefaultMutableTreeNode

}} (alarmName шнура, булевское shouldBeVisible) {childNode
DefaultMutableTreeNode = новое DefaultMutableTreeNode (alarmName);

treeModel.insertNodeInto (childNode, alarmsNode, alarmsNode.getChildCount ());

если (shouldBeVisible), то {
tree.scrollPathToVisible (new TreePath (childNode.getPath ())); childNode


} возвращенное; valueChanged свободное пространство публики @Override



} (TreeSelectionEvent e) {
//Returns последний элемент курса метода selection.
//This полезно только когда модель выбора позволяет одиночный узел selection.
DefaultMutableTreeNode = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent ();

если (null == узла) //Nothing будет selected.
, то {возвращением
;

System.out.println
} (« TreeSelectionListener.valueChanged (): node=» + node.getUserObject ()); тип MyDefaultMutableTreeNode ////////////////////////////////////////////////////


//////////////////////////
} приватный статический расширяет DefaultMutableTreeNode {

общественное MyDefaultMutableTreeNode (userObject) {
Object супер (userObject); isLeaf @Override



} общественное булевское () {ложное
возвращенное; ////////////////////////////////////////////////////


//////////////////////////

}}/**
* слушает для запроса показать popup
*/
приватный тип, котор MyMouseListener расширяет MouseAdapter {свободное пространство публики @Override


mousePressed (MouseEvent e) {maybeShowPopup
(e); свободное пространство публики @Override



} mouseReleased (MouseEvent e) {maybeShowPopup
(e); maybeShowPopup


} приватное пустое (MouseEvent e) {
если (e.isPopupTrigger, то ()) {selPath
TreePath
= tree.getPathForLocation (e.getX (), e.getY ());


если (selPath! = аннулируйте) {узел
DefaultMutableTreeNode = (DefaultMutableTreeNode) selPath.getLastPathComponent ();
если (node.equals, то (alarmsNode)) {
System.out.println («selected тревожит узел»); ow
caPopup.sh (e.getComponent (), e.getX (), e.getY ());

} еще если (node.equals, то (apModes)) {
System.out.println («узел панелей сигнала тревоги selected»); ow
capPopup.sh (e.getComponent (), e.getX (), e.getY ());

} еще если (alarmsNode.isNodeChild, то (node)) {
System.out.println («узел сигнала тревоги selected»);

} еще если (), то {
System.out.println apModes.isNodeChild (узла) («узел панели сигнала тревоги selected»); тип CAPopupMenu ////////////////////////////////////////////////////


//////////////////////////





}}}}} приватный расширяет JPopupMenu {selectAlarmMenuItem

приватное JMenuItem = новое JMenuItem («создайте сигнал тревоги»);

общественное CAPopupMenu () {

добавляет (selectAlarmMenuItem);

selectAlarmMenuItem.addActionListener (новое ActionListener () {свободное пространство публики

actionPerformed (ActionEvent e) {
System.out.println («сигнал тревоги creating»);

}}); тип CAPPopupMenu ////////////////////////////////////////////////////


}

} ////////////////////////// приватный расширяет JPopupMenu {selectAlarmMenuItem

приватное JMenuItem = новое JMenuItem («создайте панель сигнала тревоги»);

общественное CAPPopupMenu () {

добавляет (selectAlarmMenuItem);

selectAlarmMenuItem.addActionListener (новое ActionListener () {свободное пространство публики

actionPerformed (ActionEvent e) {
System.out.println («панель сигнала тревоги creating»);

}});

======================================================================
import java.awt



}}}. Компонент;
import java.awt. Размер;
import java.awt. Набор инструментов;
import java.util. Блоки;
import javax.swing.JFrame; тип RunMonitorPanel

public {

/** построьте пример.

*/
общественное RunMonitorPanel () {
}/**
* центризуйте компонент на screen.
* целью @param компонент, котор нужно быть свободное пространство static centered.
*/
приватное centerOnScreen (компонентная цель) {
если (цель! = аннулируйте) {размер
screenSize = Toolkit.getDefaultToolkit () .getScreenSize (); Размер
targetSize = target.getSize ();

если (targetSize.height > screenSize.height), то {
targetSize.height = screenSize.height;


} если (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);



}}/**
* создайте и покажите GUI.
*/
приватное статическое пустое createAndShowGUI () {
//Create и setup рамка window.
JFrame = новое JFrame («MonitorPanel»);
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);

// setup панель содержания pane.
MonitorPanel = новое MonitorPanel ();
frame.getContentPane () .add (панель);
// установило некоторые значения для display
panel.setConfigPath (» /tmp/config ");
panel.setConfigMode («rw»); alarmNames шнура
[] = {«a1», «a2», «a3»};
panel.setAlarmNames (Arrays.asList (alarmNames)); alarmPanelNames шнура
[] = {«ap1», «ap2», «ap3»};
panel.setAlarmPanelNames (Arrays.asList (alarmPanelNames)); пакет

// и показывает window.
frame.pack ();
centerOnScreen (рамка);
frame.setVisible (поистине);


}/**
* создайте и покажите GUI.
*/
общественное свободное пространство static главным образом (args) {

javax.swing.SwingUtilities.invokeLater шнура [] (новое Runnable () {свободное пространство публики

бегут () {createAndShowGUI
();

}});

==================================================================





}} class=

Ответ : Проблема вала GUI

Я угадываю он должно быть минус 45:

ГДЕ providerID ВНУТРИ («A000000015210B», «A000000003731B ")
  И Input_Date <� DATEADD="">
или

ГДЕ providerID ВНУТРИ («A000000015210B», «A000000003731B ")
  И Received_Date > DATEADD (день, 45, Input_Date)
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us