2013-12-13 2 views
0

Итак, у меня есть основной метод, который содержит что-то вроде этого:Как добавить раскрывающееся меню в JFrame?

public class ArcDrawer { 
    public static void main (String [ ] args){ 
     JFrame f = new JFrame("Arc"); 
     f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     points p = new points(); 
     f.add(p); 
     f.setSize(850, 850); 
     f.setVisible(true); 
    } 
} 

Тогда класс points содержит метод paintComponent. Этот метод принимает переменную, complexity, и рисует круг на основе числа. То, что я хотел бы сделать, это добавить раскрывающееся меню и подтвердить кнопку для моего JFrame, который может изменить эту переменную сложности и затем нарисовать круг. Какие-либо предложения? Я понятия не имею, как передать переменную методу paintComponent.

+0

Вы должны посмотреть на добавление 'JComboPane' в свой графический интерфейс. – Tdorno

+0

@Tdorno JComboBox? Я смотрю на документацию по java и не вижу JComboPane .. – tssguy123

+0

Да, я МОЙ ПЛОХОЙ LOL! – Tdorno

ответ

1

Я понятия не имею, как я хотел бы передать переменную в методе paintComponent ..

нет. Вы задаете свойство класса Points. Тогда метод paintComponent() может ссылаться на свойство во время рисования.

Например, класс очков должен иметь методы, такие как setComplexity(...) и getComplexity().

Кроме того, следуйте соглашениям об именах Java. Имена классов должны начинаться с символа верхнего регистра. «Точками» должны быть «Баллы». Любой учебник или учебник, который вы читаете, будет следовать этому соглашению, поэтому не составляйте свои собственные соглашения.

+0

Я знаю это сейчас. Я написал это в начале семестра, прежде чем мы перешли к соглашениям об именах, ха-ха. Итак, внутри класса Points я мог бы иметь такой конструктор: \t int complex; \t \t общественные точки (int c) { \t \t complex = c; \t} , а затем обратно в мою основную часть, я мог бы взять информацию из выпадающего списка и создать экземпляр класса, используя Баллы p = новые очки (anyinthere); – tssguy123

Смежные вопросы