Hi, sprawa ma się następująco: wybieram z menu edytuj opcje wklej, podaję tekst, zatwierdzam. Tekst nie pojawia się na labelu dopóki nie zmienię rozmiaru okna.
Proszę o pomoc, pozdrawiam!
package javaapplication27;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import java.awt.BorderLayout;
import javax.swing.JPanel;
class MenuFrame extends JFrame
{
public MenuFrame()
{
setSize(300, 250);
setTitle("Menu!");
createMenu();
addListeners();
}
public void createMenu()
{
menuBar = new JMenuBar();
setJMenuBar(menuBar);
editMenu = new JMenu("Edytyuj");
fileMenu = new JMenu("Plik");
subEditMenu = new JMenu("Text");
subEditMenuBold = new JMenuItem("Bold");
subEditMenu.add(subEditMenuBold);
editMenu.add(subEditMenu);
editMenu.addSeparator();
copy = new JMenuItem("Kopiuj");
paste = new JMenuItem("Wklej");
editMenu.add(copy);
editMenu.add(paste);
menuBar.add(editMenu);
menuBar.add(fileMenu);
menuBar.setVisible(true);
}
public void addListeners()
{
subEditMenuBold.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(
null,"Boldujemy!");
}
});
copy.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int x = JOptionPane.showConfirmDialog(null, "Kopiować??");
if (x == JOptionPane.OK_OPTION)
JOptionPane.showMessageDialog(null, "Skopiowane :D");
if (x == JOptionPane.CANCEL_OPTION)
JOptionPane.showMessageDialog(null, "Jak tak to idz!");
if (x == JOptionPane.NO_OPTION)
JOptionPane.showMessageDialog(null, "Niech Ci bedzie...");
}
});
paste.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String x = JOptionPane.showInputDialog("Podaj tekst");
JPanel panel = new JPanel();
panel.setSize(150, 100);
panel.setVisible(true);
getContentPane().add(panel, BorderLayout.CENTER);
JLabel label = new JLabel(x);
label.setVisible(true);
panel.add(label, BorderLayout.CENTER);
}
});
}
private JMenuBar menuBar;
private JMenu editMenu;
private JMenu fileMenu;
private JMenu subEditMenu;
private JMenuItem subEditMenuBold;
private JMenuItem copy;
private JMenuItem paste;
}
public class Main
{
public static void main(String[] args)
{
MenuFrame x = new MenuFrame();
x.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
x.setVisible(true);
}
}