Obecnie tworzę aplikację java.Tworzenie okna PopUp w java
Chcę pokazać nowe okno, które zawiera obszar tekstowy i przycisk.
Czy masz jakieś pomysły?
Obecnie tworzę aplikację java.Tworzenie okna PopUp w java
Chcę pokazać nowe okno, które zawiera obszar tekstowy i przycisk.
Czy masz jakieś pomysły?
JOptionPane jest twoim przyjacielem: http://www.javalobby.org/java/forums/t19012.html
Wyjazd Swing Dialogs (głównie na JOptionPane, jak wspomniano przez @mcfinnigan).
Hmm to było trochę czasu, ale z tego co pamiętam ...
Jeśli chcesz okna niestandardowe można po prostu zrobić nową ramkę i sprawiają, że pojawiają się tak jak byś z okna głównego. Java ma również wielką bibliotekę dialogowe, w którym można zapoznać się tutaj:
, które mogą być w stanie podać funkcjonalność szukasz z dużo mniejszym wysiłkiem.
Object[] possibilities = {"ham", "spam", "yam"};
String s = (String)JOptionPane.showInputDialog(
frame,
"Complete the sentence:\n"
+ "\"Green eggs and...\"",
"Customized Dialog",
JOptionPane.PLAIN_MESSAGE,
icon,
possibilities,
"ham");
//If a string was returned, say so.
if ((s != null) && (s.length() > 0)) {
setLabel("Green eggs and... " + s + "!");
return;
}
//If you're here, the return value was null/empty.
setLabel("Come on, finish the sentence!");
Jeśli nie dbać, aby ograniczyć wybór użytkownika, można użyć formy metodą showInputDialog które ma mniej argumentów lub określić null dla tablicy obiektów. W Java wyglądu, zastępując null dla wyników możliwości w dialogu, który ma pole tekstowe i wygląda tak:
Myślę, że chcę zrobić nową ramkę, możesz mi pokazać, jak to zrobić thb przy okazji? – Carlo
Powyższy przykład jest tak jasny i zwięzły, jak tylko mogę pokazać, jak to zrobić. Jeśli chcesz go dostosować poza tym przykładem, spójrz na dokumentację Java Docs. – Prediluted
tę samą odpowiedź: JOptionpane z przykładu :)
package experiments;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class CreateDialogFromOptionPane {
public static void main(final String[] args) {
final JFrame parent = new JFrame();
JButton button = new JButton();
button.setText("Click me to show dialog!");
parent.add(button);
parent.pack();
parent.setVisible(true);
button.addActionListener(new java.awt.event.ActionListener() {
@Override
public void actionPerformed(java.awt.event.ActionEvent evt) {
String name = JOptionPane.showInputDialog(parent,
"What is your name?", null);
}
});
}
}
public class JSONPage {
Logger log = Logger.getLogger("com.prodapt.autotest.gui.design.EditTestData");
public static final JFrame JSONFrame = new JFrame();
public final JPanel jPanel = new JPanel();
JLabel IdLabel = new JLabel("JSON ID*");
JLabel DataLabel = new JLabel("JSON Data*");
JFormattedTextField JId = new JFormattedTextField("Auto Generated");
JTextArea JData = new JTextArea();
JButton Cancel = new JButton("Cancel");
JButton Add = new JButton("Add");
public void JsonPage() {
JSONFrame.getContentPane().add(jPanel);
JSONFrame.add(jPanel);
JSONFrame.setSize(400, 250);
JSONFrame.setResizable(false);
JSONFrame.setVisible(false);
JSONFrame.setTitle("Add JSON Data");
JSONFrame.setLocationRelativeTo(null);
jPanel.setLayout(null);
JData.setWrapStyleWord(true);
JId.setEditable(false);
IdLabel.setBounds(20, 30, 120, 25);
JId.setBounds(100, 30, 120, 25);
DataLabel.setBounds(20, 60, 120, 25);
JData.setBounds(100, 60, 250, 75);
Cancel.setBounds(80, 170, 80, 30);
Add.setBounds(280, 170, 50, 30);
jPanel.add(IdLabel);
jPanel.add(JId);
jPanel.add(DataLabel);
jPanel.add(JData);
jPanel.add(Cancel);
jPanel.add(Add);
SwingUtilities.updateComponentTreeUI(JSONFrame);
Cancel.addActionListener(new ActionListener() {
@SuppressWarnings("deprecation")
@Override
public void actionPerformed(ActionEvent e) {
JData.setText("");
JSONFrame.hide();
TestCasePage.testCaseFrame.show();
}
});
Add.addActionListener(new ActionListener() {
@SuppressWarnings("deprecation")
@Override
public void actionPerformed(ActionEvent e) {
try {
PreparedStatement pStatement = DAOHelper.getInstance()
.createJSON(
ConnectionClass.getInstance()
.getConnection());
pStatement.setString(1, null);
if (JData.getText().toString().isEmpty()) {
JOptionPane.showMessageDialog(JSONFrame,
"Must Enter JSON Path");
} else {
// System.out.println(eleSelectBy);
pStatement.setString(2, JData.getText());
pStatement.executeUpdate();
JOptionPane.showMessageDialog(JSONFrame, "!! Added !!");
log.info("JSON Path Added"+JData);
JData.setText("");
JSONFrame.hide();
}
} catch (SQLException e1) {
JData.setText("");
log.info("Error in Adding JSON Path");
e1.printStackTrace();
}
}
});
}
}
hmm ... trochę na granicy odpowiedzi na pytanie, czyż nie ;-) W każdym razie, a) zapoznaj się z konwencjami nazewnictwa java i trzymaj się ich b) nigdy nie wykonuj ręcznego sortowania/lokalizacji komponentów, to jest wyłączne zadanie odpowiedniego menedżera LayoutManager c) updateComponentTree nie jest potrzebne – kleopatra
Spróbuj użyć JOptionPane lub SWT Shell.
Może 'JOptionPane.showInputDialog (null," To jest wiadomość "," To jest domyślny tekst ")'? – fireshadow52
Proszę oznaczyć odpowiedź, aby to pytanie zostało rozwiązane. – Ungeheuer