|
Zapomnel jsem uvest jednu dulezitou věc. JPanelu, do ktereho JButton vkladam také definuji
Background. A to je jadro pudla a problem, protože potom button.updateUI()
nefunguje. Zde uvadim kod: **************************************************** package test; import java.awt.Color; import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.plaf.metal.MetalButtonUI; public class Main extends JFrame { private JButton button; private boolean prepnuti = false; public Main() { Container pane =
this.getContentPane(); JPanel panel =
new JPanel();
panel.setLayout(new FlowLayout());
panel.setBackground(new Color(0,0,250)); button = new
JButton("Button"); button.setUI(new
MetalButtonUI());
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
if (prepnuti) {
button.setBackground(new Color(255,0,0));
button.updateUI();
prepnuti = !prepnuti;
} else {
button.setBackground(null);
button.updateUI();
prepnuti = !prepnuti;
}
} });
panel.add(button); pane.add(panel);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); pack(); setVisible(true); } public static void main(String[] args) { new Main(); } } **************************************************** Ahoj. Co treba takto: updateUI <http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JButton.html#updateUI%2 8%29> () Resets the UI property to a value from the current look and
feel. Vity ________________________________ From: konference-bounces na java.cz
[mailto:konference-bounces na java.cz] On Behalf Of Lukas Adamek | FAYN Telecommunications Sent: Thursday, September 21, 2006 9:10 AM To: konference na java.cz Subject: JButton - navrat k puvodnimu UI Ahoj Potrebuji udelat blikajici JButton activeButton; Vzhled tlacitka nastavuji prikazem activeButton.setUI(new MetalButtonUI()); Blikani delam jednoduse zmenou barvy pozadi, tj. activeButton.setBackground(...); Problem nastane, kdyz chci, aby tlacitko prestalo blikat.
Tedy potrebuji znovu nastavit vychozi UI. Nepomaha setBackground(null),
znovupouziti setUI a ani v prislusnem UI jsem nenasel zadnou funkci metodu,
ktera by toho byla schopna. |
JButton - navrat k puvodnimu UI
Lukas Adamek | FAYN Telecommunications Thu, 21 Sep 2006 08:46:37 -0700
- JButton - navrat k puvodnimu UI Lukas Adamek | FAYN Telecommunications
- Re: JButton - navrat k puvodni... Ladislav Božek
