Droicyn utworzono 27 sierpnia 2009 utworzono 27 sierpnia 2009 Witam pytanie nie mam pojęcia jak zmiejszyć rozmiar JComboBox chodzi o to żeby było to na maksymalnie 4 znaki bo dłuższe nie jest mi potrzebne.
benkowik komentarz 27 sierpnia 2009 komentarz 27 sierpnia 2009 Może: public void processKeyEvent(KeyEvent e)
Droicyn komentarz 27 sierpnia 2009 Autor komentarz 27 sierpnia 2009 A mógłbyś mi to wkleić w mój kod? package salon;import javax.swing.*;import java.awt.Event.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;class OknoSI extends JDialog{ public OknoSI(JFrame wlasciciel) { //określam wlasciwosci okna dialogowego super(wlasciciel, "Sprzedaż Indywidualna", true); final JDialog SIPanel = new JDialog(); Container powZawartosci = SIPanel.getContentPane(); SIPanel.setDefaultCloseOperation(DISPOSE_ON_CLOSE); SIPanel.setResizable(false); SIPanel.setModal(true); //tworze panel wyboru JPanel listPanelN = new JPanel(); Container zd1 = getContentPane(); listPanelN.add(new JLabel("Nr. zmiany od:")); lista2 = new JComboBox(); lista2.setEditable(true); listPanelN.add(lista2); add(listPanelN, BorderLayout.NORTH); JPanel listPanel = new JPanel(); Container zd2 = getContentPane(); listPanel.add(new JLabel("Nr. zmiany do:")); lista1 = new JComboBox(); lista1.setEditable(true); listPanel.add(lista1); listPanel.add(new JLabel("W miesiącu:")); lista3 = new JComboBox(); for(int i = 1; i <= 12; i++) lista3.addItem(i); lista3.setEditable(true); listPanel.add(lista3); lista4 = new JComboBox(); for(int i = 2009; i <= 2099; i++) lista4.addItem(i); lista4.setEditable(true); listPanel.add(lista4); zmiana = new JCheckBox("Obecna zmiana"); zmiana.setSelected(false); listPanel.add(zmiana); add(listPanel, BorderLayout.CENTER); //buttonpanel na przyciski drukuj i zamknij JPanel buttonPanel = new JPanel(); Container zd4 = getContentPane(); buttonSearch = new JButton("Szukaj"); buttonSearch.setBackground(new java.awt.Color (170,170,170)); buttonSearch.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent zdarzeniePrint) { } }); buttonPanel.add(buttonSearch); buttonClose = new JButton("Zamknij"); buttonClose.setBackground(new java.awt.Color (170,170,170)); buttonClose.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent zdarzenieClose) { dispose(); } }); buttonPanel.add(buttonClose); add(buttonPanel, BorderLayout.SOUTH); //rozmiar okna i polozenie okna setSize(300,300); setLocation(490,255); }private JButton buttonSearch;private JButton buttonClose;private JComboBox lista1;private JComboBox lista2;private JComboBox lista3;private JComboBox lista4;private JCheckBox zmiana;} Chcę mieć taki rozmiar w lista3 i lista 4.
benkowik komentarz 28 sierpnia 2009 komentarz 28 sierpnia 2009 Spróbuj przerobić sobie ten kod: public class JTextFieldLimit extends PlainDocument { private int limit; // optional uppercase conversion private boolean toUppercase = false; JTextFieldLimit(int limit) { super(); this.limit = limit; } JTextFieldLimit(int limit, boolean upper) { super(); this.limit = limit; toUppercase = upper; } public void insertString (int offset, String str, AttributeSet attr) throws BadLocationException { if (str == null) return; if ((getLength() + str.length()) <= limit) { if (toUppercase) str = str.toUpperCase(); super.insertString(offset, str, attr); } }}import java.awt.*;import javax.swing.*;public class tswing extends JApplet{ JTextField textfield1; JLabel label1; public void init() { getContentPane().setLayout(new FlowLayout()); // label1 = new JLabel("max 10 chars"); textfield1 = new JTextField(15); getContentPane().add(label1); getContentPane().add(textfield1); textfield1.setDocument (new JTextFieldLimit(10)); }}
Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!
Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.