Добрый день всем.
Программа описывает просто некоторые элементы пользовательского интерфейса, но есть 2 проблемы: 1)При раскрытии окна до полных размеров экрана элементов становится ужасно много, на много больше чем я написал.... Почему?
2)137 строчка. Если убрать коммент, то происходит мигание данного элемента слева вверху. Почему? Извините за столь длинный код. Просто может где-то опечатка есть, а я не заметил....Правда. компилятор тоже...
| Код | import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; import java.lang.*;
public class test { public static void main(String[] args) { JFrame frame = new ImageViewerFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }
class ImageViewerFrame extends JFrame { private JLabel label; private JFileChooser chooser; public ImageViewerFrame() { setTitle("MATH'S TEST"); setSize(1000,900); label = new JLabel(); add(label);
chooser = new JFileChooser(); chooser.setCurrentDirectory(new File("."));
JMenuBar menuBar = new JMenuBar(); setJMenuBar(menuBar);
setResizable(true); //нельзя менять размеры окна setCursor(WAIT_CURSOR); //тип курсора
setLayout( new BorderLayout() ); //раскладка элементов //if значение null, то все пропадает, почему?(( JMenu menu = new JMenu("Файл"); menuBar.add(menu);
JMenu menu_2 = new JMenu("Правка"); menuBar.add(menu_2);
JMenuItem item_2 = new JMenuItem("zenit"); menu_2.add(item_2);
JMenuItem openItem = new JMenuItem("Open"); menu.add(openItem); openItem.addActionListener (new ActionListener() { public void actionPerformed(ActionEvent event) { int result = chooser.showOpenDialog(null); if(result == JFileChooser.APPROVE_OPTION) { String name = chooser.getSelectedFile().getPath(); label.setIcon(new ImageIcon(name)); } } }); JMenuItem exitItem = new JMenuItem("Exit"); menu.add(exitItem); exitItem.addActionListener (new ActionListener() { public void actionPerformed(ActionEvent event) { System.exit(0); } }); framePanel panel = new framePanel(); add(panel); } }
class framePanel extends JPanel {
String str = "What's your name?"; int answer = 0; int Result = 4444440; TextField fieldAnswer, fieldResult; public void paintComponent(Graphics g) { super.paintComponent(g); g.setColor(Color.white); g.drawString(str, 100, 250); g.drawString("answer = " + answer, 100, 200); makeButton("black font", Color.black); add(fieldAnswer = new TextField("answer", 40)); JButton b = new JButton("проверить"); add(b); b.addActionListener (new ActionListener() { public void actionPerformed(ActionEvent event) { String label = event.getActionCommand(); if (label.equals("проверить")) { //fieldResult = fieldAnswer.getText().trim(); fieldResult.setText(new Integer(Result).toString()); } } }); add(fieldResult = new TextField("", 30)); //fieldResult.setSize(20,20);
Checkbox box_1 = new Checkbox("he-he)))))____true"); box_1.setState(true); add(box_1);
new Scrollbar(Scrollbar.VERTICAL);
// setFont(Font.italic); не работает Cursor curs = new Cursor(Cursor.HAND_CURSOR); Label label = new Label("Label", Label.CENTER); label.setCursor(curs); //При наведении HAND_CURSOR setForeground(Color.GREEN); add(label);
setForeground(Color.red); // String word = "String word"; List list = new List(); //list.setColor(Color.blue); list.addItem("First"); list.addItem("Second"); list.select(1); // list.setSize(50,50); //та жк фигня, что и с раскрывающимся списком add(list);
List list2 = new List(3, true); //true - можно выбирать несколько list2.addItem("First"); list2.addItem("Second"); list2.addItem("Third"); list2.addItem("Forth"); list2.select(0); // list2.setSize(50,50); add(list2); Scrollbar scroll_l = new Scrollbar(); add(scroll_l);
TextArea text = new TextArea("TextArea",10,10); text.setEditable(false); //нельзя изменить текст add(text); } public void makeButton(String name, final Color backgroundColor) { JButton b = new JButton(name); add(b); b.addActionListener (new ActionListener() { public void actionPerformed(ActionEvent event) { setBackground(backgroundColor); } }); } }
|
Попытки решения проблемы: 1)из знакомых(у кого спрашивал) никто не сталкивался с такими проблемами 2)книги не помогают, так как в них не пишут, либо пишут очень мало о решении таких проблем 3)по форумам смотрел, ничего подобного, к сожалению не нашел.
При компиляции ошибок программа не выдает.
Дайте совет либо ссылку где можно прочитать решение проблемы. |