Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.gui > #1188 > unrolled thread
| Started by | "Phil Powell" <phil.powell@THRWHITE.remove-dii-this> |
|---|---|
| First post | 2011-04-27 15:31 +0000 |
| Last post | 2011-04-27 15:31 +0000 |
| Articles | 9 — 3 participants |
Back to article view | Back to comp.lang.java.gui
JButton is created "selec "Phil Powell" <phil.powell@THRWHITE.remove-dii-this> - 2011-04-27 15:31 +0000
Re: JButton is created "s "Knute Johnson" <knute.johnson@THRWHITE.remove-dii-this> - 2011-04-27 15:31 +0000
Re: JButton is created "s "Phil Powell" <phil.powell@THRWHITE.remove-dii-this> - 2011-04-27 15:31 +0000
Re: JButton is created "s "Knute Johnson" <knute.johnson@THRWHITE.remove-dii-this> - 2011-04-27 15:31 +0000
Re: JButton is created "s "Phil Powell" <phil.powell@THRWHITE.remove-dii-this> - 2011-04-27 15:31 +0000
Re: JButton is created "s "Knute Johnson" <knute.johnson@THRWHITE.remove-dii-this> - 2011-04-27 15:31 +0000
Re: JButton is created "s "Phil Powell" <phil.powell@THRWHITE.remove-dii-this> - 2011-04-27 15:31 +0000
Re: JButton is created "s "Knute Johnson" <knute.johnson@THRWHITE.remove-dii-this> - 2011-04-27 15:31 +0000
Re: JButton is created "s "Brandon McCombs" <brandon.mccombs@THRWHITE.remove-dii-this> - 2011-04-27 15:31 +0000
| From | "Phil Powell" <phil.powell@THRWHITE.remove-dii-this> |
|---|---|
| Date | 2011-04-27 15:31 +0000 |
| Subject | JButton is created "selec |
| Message-ID | <1174051936.828615.170180@n76g2000hsh.googlegroups.com> |
To: comp.lang.java.gui
/**
* Generate value and conditions for {@link #backButton}
*/
private void generateBackButton() {
SimpleBrowser.this.backButton = new JButton("<--");
SimpleBrowser.this.backButton.addActionListener(new
ActionListener() {
public void actionPerformed(ActionEvent evt) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
SimpleBrowser.hasClickedBack = true;
SimpleBrowser.this.currentHistoryIndex--;
SimpleBrowser.this.setURL(
(URL)SimpleBrowser.this.actualHistoryURLVector.get(
SimpleBrowser.this.currentHistoryIndex)
);
SimpleBrowser.this.setURLPath(SimpleBrowser.this.getURL().toString());
SimpleBrowser.this.processor.processURL(SimpleBrowser.this.getURL());
}
});
}
});
SimpleBrowser.this.backButton.setSelected(false);
SimpleBrowser.this.backButton.setFont(SimpleBrowserGlobals.FONT);
}
The moment this particular JButton is created it is created as
"selected", even though I have done "setSelected(false)". It does not
fire unless I click onto it, of course, but it appears as if I did and
that's not good. Is there a way I can fix this?
Thanx
Phil
---
* Synchronet * The Whitehouse BBS --- whitehouse.hulds.com --- check it out free usenet!
--- Synchronet 3.15a-Win32 NewsLink 1.92
Time Warp of the Future BBS - telnet://time.synchro.net:24
[toc] | [next] | [standalone]
| From | "Knute Johnson" <knute.johnson@THRWHITE.remove-dii-this> |
|---|---|
| Date | 2011-04-27 15:31 +0000 |
| Subject | Re: JButton is created "s |
| Message-ID | <pEzKh.98901$Ju2.60381@newsfe16.lga> |
| In reply to | #1188 |
To: comp.lang.java.gui
Phil Powell wrote:
>
> /**
> * Generate value and conditions for {@link #backButton}
> */
> private void generateBackButton() {
> SimpleBrowser.this.backButton = new JButton("<--");
> SimpleBrowser.this.backButton.addActionListener(new
> ActionListener() {
> public void actionPerformed(ActionEvent evt) {
> SwingUtilities.invokeLater(new Runnable() {
> public void run() {
> SimpleBrowser.hasClickedBack = true;
> SimpleBrowser.this.currentHistoryIndex--;
> SimpleBrowser.this.setURL(
>
> (URL)SimpleBrowser.this.actualHistoryURLVector.get(
>
> SimpleBrowser.this.currentHistoryIndex)
> );
>
> SimpleBrowser.this.setURLPath(SimpleBrowser.this.getURL().toString());
>
> SimpleBrowser.this.processor.processURL(SimpleBrowser.this.getURL());
> }
> });
>
> }
> });
> SimpleBrowser.this.backButton.setSelected(false);
>
> SimpleBrowser.this.backButton.setFont(SimpleBrowserGlobals.FONT);
> }
>
>
>
> The moment this particular JButton is created it is created as
> "selected", even though I have done "setSelected(false)". It does not
> fire unless I click onto it, of course, but it appears as if I did and
> that's not good. Is there a way I can fix this?
>
> Thanx
> Phil
>
Phil:
You don't need the Runnable inside of the ActionListener to make it run
on the EDT. The ActionListener is running on the EDT.
Are you sure it is selected and not just in focus?
--
Knute Johnson
email s/nospam/knute/
---
* Synchronet * The Whitehouse BBS --- whitehouse.hulds.com --- check it out free usenet!
--- Synchronet 3.15a-Win32 NewsLink 1.92
Time Warp of the Future BBS - telnet://time.synchro.net:24
[toc] | [prev] | [next] | [standalone]
| From | "Phil Powell" <phil.powell@THRWHITE.remove-dii-this> |
|---|---|
| Date | 2011-04-27 15:31 +0000 |
| Subject | Re: JButton is created "s |
| Message-ID | <1174065654.923007.131390@n59g2000hsh.googlegroups.com> |
| In reply to | #1194 |
To: comp.lang.java.gui
On Mar 16, 12:32 pm, Knute Johnson <nos...@rabbitbrush.frazmtn.com>
wrote:
> Phil Powell wrote:
>
> > /**
> > * Generate value and conditions for {@link #backButton}
> > */
> > private void generateBackButton() {
> > SimpleBrowser.this.backButton = new JButton("<--");
> > SimpleBrowser.this.backButton.addActionListener(new
> > ActionListener() {
> > public void actionPerformed(ActionEvent evt) {
> > SwingUtilities.invokeLater(new Runnable() {
> > public void run() {
> > SimpleBrowser.hasClickedBack = true;
> > SimpleBrowser.this.currentHistoryIndex--;
> > SimpleBrowser.this.setURL(
>
> > (URL)SimpleBrowser.this.actualHistoryURLVector.get(
>
> > SimpleBrowser.this.currentHistoryIndex)
> > );
>
> > SimpleBrowser.this.setURLPath(SimpleBrowser.this.getURL().toString());
>
> > SimpleBrowser.this.processor.processURL(SimpleBrowser.this.getURL());
> > }
> > });
>
> > }
> > });
> > SimpleBrowser.this.backButton.setSelected(false);
>
> > SimpleBrowser.this.backButton.setFont(SimpleBrowserGlobals.FONT);
> > }
>
> > The moment this particular JButton is created it is created as
> > "selected", even though I have done "setSelected(false)". It does not
> > fire unless I click onto it, of course, but it appears as if I did and
> > that's not good. Is there a way I can fix this?
>
> > Thanx
> > Phil
>
> Phil:
>
> You don't need the Runnable inside of the ActionListener to make it run
> on the EDT. The ActionListener is running on the EDT.
That I did not know, thanx. Does this also apply to
HyperlinkListener, PopupMenuListener and PropertyChangeListener?
>
> Are you sure it is selected and not just in focus?
I tried
SimpleBrowser.this.backButton.setFocusable(false);
But it still comes "focused", or rather, the JButton looks like you
clicked it even though you haven't yet done so.
>
> --
>
> Knute Johnson
> email s/nospam/knute/
---
* Synchronet * The Whitehouse BBS --- whitehouse.hulds.com --- check it out free usenet!
--- Synchronet 3.15a-Win32 NewsLink 1.92
Time Warp of the Future BBS - telnet://time.synchro.net:24
[toc] | [prev] | [next] | [standalone]
| From | "Knute Johnson" <knute.johnson@THRWHITE.remove-dii-this> |
|---|---|
| Date | 2011-04-27 15:31 +0000 |
| Subject | Re: JButton is created "s |
| Message-ID | <w_AKh.23609$Cp1.3045@newsfe14.lga> |
| In reply to | #1195 |
To: comp.lang.java.gui
Phil Powell wrote:
> On Mar 16, 12:32 pm, Knute Johnson <nos...@rabbitbrush.frazmtn.com>
> wrote:
>> Phil Powell wrote:
>>
>>> /**
>>> * Generate value and conditions for {@link #backButton}
>>> */
>>> private void generateBackButton() {
>>> SimpleBrowser.this.backButton = new JButton("<--");
>>> SimpleBrowser.this.backButton.addActionListener(new
>>> ActionListener() {
>>> public void actionPerformed(ActionEvent evt) {
>>> SwingUtilities.invokeLater(new Runnable() {
>>> public void run() {
>>> SimpleBrowser.hasClickedBack = true;
>>> SimpleBrowser.this.currentHistoryIndex--;
>>> SimpleBrowser.this.setURL(
>>> (URL)SimpleBrowser.this.actualHistoryURLVector.get(
>>> SimpleBrowser.this.currentHistoryIndex)
>>> );
>>> SimpleBrowser.this.setURLPath(SimpleBrowser.this.getURL().toString());
>>> SimpleBrowser.this.processor.processURL(SimpleBrowser.this.getURL());
>>> }
>>> });
>>> }
>>> });
>>> SimpleBrowser.this.backButton.setSelected(false);
>>> SimpleBrowser.this.backButton.setFont(SimpleBrowserGlobals.FONT);
>>> }
>>> The moment this particular JButton is created it is created as
>>> "selected", even though I have done "setSelected(false)". It does not
>>> fire unless I click onto it, of course, but it appears as if I did and
>>> that's not good. Is there a way I can fix this?
>>> Thanx
>>> Phil
>> Phil:
>>
>> You don't need the Runnable inside of the ActionListener to make it run
>> on the EDT. The ActionListener is running on the EDT.
>
> That I did not know, thanx. Does this also apply to
> HyperlinkListener, PopupMenuListener and PropertyChangeListener?
Yes.
>> Are you sure it is selected and not just in focus?
>
> I tried
>
> SimpleBrowser.this.backButton.setFocusable(false);
>
> But it still comes "focused", or rather, the JButton looks like you
> clicked it even though you haven't yet done so.
>
Something always gets the focus when a GUI is made visible. Just send
the focus to some other component for example your JTextField that takes
the URL string. Do it after the GUI is visible.
--
Knute Johnson
email s/nospam/knute/
---
* Synchronet * The Whitehouse BBS --- whitehouse.hulds.com --- check it out free usenet!
--- Synchronet 3.15a-Win32 NewsLink 1.92
Time Warp of the Future BBS - telnet://time.synchro.net:24
[toc] | [prev] | [next] | [standalone]
| From | "Phil Powell" <phil.powell@THRWHITE.remove-dii-this> |
|---|---|
| Date | 2011-04-27 15:31 +0000 |
| Subject | Re: JButton is created "s |
| Message-ID | <1174068879.396977.263320@o5g2000hsb.googlegroups.com> |
| In reply to | #1196 |
To: comp.lang.java.gui
On Mar 16, 2:04 pm, Knute Johnson <nos...@rabbitbrush.frazmtn.com>
wrote:
> Phil Powell wrote:
> > On Mar 16, 12:32 pm, Knute Johnson <nos...@rabbitbrush.frazmtn.com>
> > wrote:
> >> Phil Powell wrote:
>
> >>> /**
> >>> * Generate value and conditions for {@link #backButton}
> >>> */
> >>> private void generateBackButton() {
> >>> SimpleBrowser.this.backButton = new JButton("<--");
> >>> SimpleBrowser.this.backButton.addActionListener(new
> >>> ActionListener() {
> >>> public void actionPerformed(ActionEvent evt) {
> >>> SwingUtilities.invokeLater(new Runnable() {
> >>> public void run() {
> >>> SimpleBrowser.hasClickedBack = true;
> >>> SimpleBrowser.this.currentHistoryIndex--;
> >>> SimpleBrowser.this.setURL(
> >>> (URL)SimpleBrowser.this.actualHistoryURLVector.get(
> >>> SimpleBrowser.this.currentHistoryIndex)
> >>> );
> >>> SimpleBrowser.this.setURLPath(SimpleBrowser.this.getURL().toString());
> >>> SimpleBrowser.this.processor.processURL(SimpleBrowser.this.getURL());
> >>> }
> >>> });
> >>> }
> >>> });
> >>> SimpleBrowser.this.backButton.setSelected(false);
> >>> SimpleBrowser.this.backButton.setFont(SimpleBrowserGlobals.FONT);
> >>> }
> >>> The moment this particular JButton is created it is created as
> >>> "selected", even though I have done "setSelected(false)". It does not
> >>> fire unless I click onto it, of course, but it appears as if I did and
> >>> that's not good. Is there a way I can fix this?
> >>> Thanx
> >>> Phil
> >> Phil:
>
> >> You don't need the Runnable inside of the ActionListener to make it run
> >> on the EDT. The ActionListener is running on the EDT.
>
> > That I did not know, thanx. Does this also apply to
> > HyperlinkListener, PopupMenuListener and PropertyChangeListener?
>
> Yes.
>
> >> Are you sure it is selected and not just in focus?
>
> > I tried
>
> > SimpleBrowser.this.backButton.setFocusable(false);
>
> > But it still comes "focused", or rather, the JButton looks like you
> > clicked it even though you haven't yet done so.
>
> Something always gets the focus when a GUI is made visible. Just send
> the focus to some other component for example your JTextField that takes
> the URL string. Do it after the GUI is visible.
Curious. The JButton look is now restored to normal the moment I did
both setFocusable(false) and then immediately after that
setSelected(false).
>
> --
>
> Knute Johnson
> email s/nospam/knute/
---
* Synchronet * The Whitehouse BBS --- whitehouse.hulds.com --- check it out free usenet!
--- Synchronet 3.15a-Win32 NewsLink 1.92
Time Warp of the Future BBS - telnet://time.synchro.net:24
[toc] | [prev] | [next] | [standalone]
| From | "Knute Johnson" <knute.johnson@THRWHITE.remove-dii-this> |
|---|---|
| Date | 2011-04-27 15:31 +0000 |
| Subject | Re: JButton is created "s |
| Message-ID | <UJBKh.24561$Cp1.9226@newsfe14.lga> |
| In reply to | #1197 |
To: comp.lang.java.gui
Phil Powell wrote:
> On Mar 16, 2:04 pm, Knute Johnson <nos...@rabbitbrush.frazmtn.com>
> wrote:
>> Phil Powell wrote:
>>> On Mar 16, 12:32 pm, Knute Johnson <nos...@rabbitbrush.frazmtn.com>
>>> wrote:
>>>> Phil Powell wrote:
>>>>> /**
>>>>> * Generate value and conditions for {@link #backButton}
>>>>> */
>>>>> private void generateBackButton() {
>>>>> SimpleBrowser.this.backButton = new JButton("<--");
>>>>> SimpleBrowser.this.backButton.addActionListener(new
>>>>> ActionListener() {
>>>>> public void actionPerformed(ActionEvent evt) {
>>>>> SwingUtilities.invokeLater(new Runnable() {
>>>>> public void run() {
>>>>> SimpleBrowser.hasClickedBack = true;
>>>>> SimpleBrowser.this.currentHistoryIndex--;
>>>>> SimpleBrowser.this.setURL(
>>>>> (URL)SimpleBrowser.this.actualHistoryURLVector.get(
>>>>> SimpleBrowser.this.currentHistoryIndex)
>>>>> );
>>>>> SimpleBrowser.this.setURLPath(SimpleBrowser.this.getURL().toString());
>>>>> SimpleBrowser.this.processor.processURL(SimpleBrowser.this.getURL());
>>>>> }
>>>>> });
>>>>> }
>>>>> });
>>>>> SimpleBrowser.this.backButton.setSelected(false);
>>>>> SimpleBrowser.this.backButton.setFont(SimpleBrowserGlobals.FONT);
>>>>> }
>>>>> The moment this particular JButton is created it is created as
>>>>> "selected", even though I have done "setSelected(false)". It does not
>>>>> fire unless I click onto it, of course, but it appears as if I did and
>>>>> that's not good. Is there a way I can fix this?
>>>>> Thanx
>>>>> Phil
>>>> Phil:
>>>> You don't need the Runnable inside of the ActionListener to make it run
>>>> on the EDT. The ActionListener is running on the EDT.
>>> That I did not know, thanx. Does this also apply to
>>> HyperlinkListener, PopupMenuListener and PropertyChangeListener?
>> Yes.
>>
>>>> Are you sure it is selected and not just in focus?
>>> I tried
>>> SimpleBrowser.this.backButton.setFocusable(false);
>>> But it still comes "focused", or rather, the JButton looks like you
>>> clicked it even though you haven't yet done so.
>> Something always gets the focus when a GUI is made visible. Just send
>> the focus to some other component for example your JTextField that takes
>> the URL string. Do it after the GUI is visible.
>
> Curious. The JButton look is now restored to normal the moment I did
> both setFocusable(false) and then immediately after that
> setSelected(false).
Normal is what you are trying to change. When the GUI is made visible
the first focusable component takes the focus. When you made the
JButton not focusable some other component took the focus. Focus is
normal behaviour. If you don't want that then fine but it is there so
that you can press the space bar and activate the button.
Selected on a JButton is when you are holding the mouse button
depressed. That has nothing to do with what is happening here.
--
Knute Johnson
email s/nospam/knute/
---
* Synchronet * The Whitehouse BBS --- whitehouse.hulds.com --- check it out free usenet!
--- Synchronet 3.15a-Win32 NewsLink 1.92
Time Warp of the Future BBS - telnet://time.synchro.net:24
[toc] | [prev] | [next] | [standalone]
| From | "Phil Powell" <phil.powell@THRWHITE.remove-dii-this> |
|---|---|
| Date | 2011-04-27 15:31 +0000 |
| Subject | Re: JButton is created "s |
| Message-ID | <1174073379.298635.126130@y66g2000hsf.googlegroups.com> |
| In reply to | #1198 |
To: comp.lang.java.gui
On Mar 16, 2:54 pm, Knute Johnson <nos...@rabbitbrush.frazmtn.com>
wrote:
> Phil Powell wrote:
> > On Mar 16, 2:04 pm, Knute Johnson <nos...@rabbitbrush.frazmtn.com>
> > wrote:
> >> Phil Powell wrote:
> >>> On Mar 16, 12:32 pm, Knute Johnson <nos...@rabbitbrush.frazmtn.com>
> >>> wrote:
> >>>> Phil Powell wrote:
> >>>>> /**
> >>>>> * Generate value and conditions for {@link #backButton}
> >>>>> */
> >>>>> private void generateBackButton() {
> >>>>> SimpleBrowser.this.backButton = new JButton("<--");
> >>>>> SimpleBrowser.this.backButton.addActionListener(new
> >>>>> ActionListener() {
> >>>>> public void actionPerformed(ActionEvent evt) {
> >>>>> SwingUtilities.invokeLater(new Runnable() {
> >>>>> public void run() {
> >>>>> SimpleBrowser.hasClickedBack = true;
> >>>>> SimpleBrowser.this.currentHistoryIndex--;
> >>>>> SimpleBrowser.this.setURL(
> >>>>> (URL)SimpleBrowser.this.actualHistoryURLVector.get(
> >>>>> SimpleBrowser.this.currentHistoryIndex)
> >>>>> );
> >>>>> SimpleBrowser.this.setURLPath(SimpleBrowser.this.getURL().toString());
> >>>>> SimpleBrowser.this.processor.processURL(SimpleBrowser.this.getURL());
> >>>>> }
> >>>>> });
> >>>>> }
> >>>>> });
> >>>>> SimpleBrowser.this.backButton.setSelected(false);
> >>>>> SimpleBrowser.this.backButton.setFont(SimpleBrowserGlobals.FONT);
> >>>>> }
> >>>>> The moment this particular JButton is created it is created as
> >>>>> "selected", even though I have done "setSelected(false)". It does not
> >>>>> fire unless I click onto it, of course, but it appears as if I did and
> >>>>> that's not good. Is there a way I can fix this?
> >>>>> Thanx
> >>>>> Phil
> >>>> Phil:
> >>>> You don't need the Runnable inside of the ActionListener to make it run
> >>>> on the EDT. The ActionListener is running on the EDT.
> >>> That I did not know, thanx. Does this also apply to
> >>> HyperlinkListener, PopupMenuListener and PropertyChangeListener?
> >> Yes.
>
> >>>> Are you sure it is selected and not just in focus?
> >>> I tried
> >>> SimpleBrowser.this.backButton.setFocusable(false);
> >>> But it still comes "focused", or rather, the JButton looks like you
> >>> clicked it even though you haven't yet done so.
> >> Something always gets the focus when a GUI is made visible. Just send
> >> the focus to some other component for example your JTextField that takes
> >> the URL string. Do it after the GUI is visible.
>
> > Curious. The JButton look is now restored to normal the moment I did
> > both setFocusable(false) and then immediately after that
> > setSelected(false).
>
> Normal is what you are trying to change. When the GUI is made visible
> the first focusable component takes the focus. When you made the
> JButton not focusable some other component took the focus. Focus is
> normal behaviour. If you don't want that then fine but it is there so
> that you can press the space bar and activate the button.
>
> Selected on a JButton is when you are holding the mouse button
> depressed. That has nothing to do with what is happening here.
>
Sorry my terminology is not as educated as those of others; I'm prone
to using the "wrong term" for what I mean to say. The JButton looks
just like - as if - you are in the process of clicking the button with
your mouse. Like if you press a form button on a webpage; the JButton
looks exactly like that; there is a thin black box around the JButton
text; the colorization appears as if selected as well as focused. The
button looks like that even if I have
backButton.setFocusable(false);
However, the moment I use *BOTH* of these lines:
backButton.setFocusable(false);
backButton.setSelected(false);
The button looks like I have *NOT YET* clicked onto it as well as
focus being diverted away from that button.
I hope that makes more sense.
> --
>
> Knute Johnson
> email s/nospam/knute/
---
* Synchronet * The Whitehouse BBS --- whitehouse.hulds.com --- check it out free usenet!
--- Synchronet 3.15a-Win32 NewsLink 1.92
Time Warp of the Future BBS - telnet://time.synchro.net:24
[toc] | [prev] | [next] | [standalone]
| From | "Knute Johnson" <knute.johnson@THRWHITE.remove-dii-this> |
|---|---|
| Date | 2011-04-27 15:31 +0000 |
| Subject | Re: JButton is created "s |
| Message-ID | <4KFKh.104659$Ju2.39679@newsfe16.lga> |
| In reply to | #1200 |
To: comp.lang.java.gui
Phil Powell wrote:
> On Mar 16, 2:54 pm, Knute Johnson <nos...@rabbitbrush.frazmtn.com>
> wrote:
>> Phil Powell wrote:
>>> On Mar 16, 2:04 pm, Knute Johnson <nos...@rabbitbrush.frazmtn.com>
>>> wrote:
>>>> Phil Powell wrote:
>>>>> On Mar 16, 12:32 pm, Knute Johnson <nos...@rabbitbrush.frazmtn.com>
>>>>> wrote:
>>>>>> Phil Powell wrote:
>>>>>>> /**
>>>>>>> * Generate value and conditions for {@link #backButton}
>>>>>>> */
>>>>>>> private void generateBackButton() {
>>>>>>> SimpleBrowser.this.backButton = new JButton("<--");
>>>>>>> SimpleBrowser.this.backButton.addActionListener(new
>>>>>>> ActionListener() {
>>>>>>> public void actionPerformed(ActionEvent evt) {
>>>>>>> SwingUtilities.invokeLater(new Runnable() {
>>>>>>> public void run() {
>>>>>>> SimpleBrowser.hasClickedBack = true;
>>>>>>> SimpleBrowser.this.currentHistoryIndex--;
>>>>>>> SimpleBrowser.this.setURL(
>>>>>>> (URL)SimpleBrowser.this.actualHistoryURLVector.get(
>>>>>>> SimpleBrowser.this.currentHistoryIndex)
>>>>>>> );
>>>>>>> SimpleBrowser.this.setURLPath(SimpleBrowser.this.getURL().toString());
>>>>>>> SimpleBrowser.this.processor.processURL(SimpleBrowser.this.getURL());
>>>>>>> }
>>>>>>> });
>>>>>>> }
>>>>>>> });
>>>>>>> SimpleBrowser.this.backButton.setSelected(false);
>>>>>>> SimpleBrowser.this.backButton.setFont(SimpleBrowserGlobals.FONT);
>>>>>>> }
>>>>>>> The moment this particular JButton is created it is created as
>>>>>>> "selected", even though I have done "setSelected(false)". It does not
>>>>>>> fire unless I click onto it, of course, but it appears as if I did and
>>>>>>> that's not good. Is there a way I can fix this?
>>>>>>> Thanx
>>>>>>> Phil
>>>>>> Phil:
>>>>>> You don't need the Runnable inside of the ActionListener to make it run
>>>>>> on the EDT. The ActionListener is running on the EDT.
>>>>> That I did not know, thanx. Does this also apply to
>>>>> HyperlinkListener, PopupMenuListener and PropertyChangeListener?
>>>> Yes.
>>>>>> Are you sure it is selected and not just in focus?
>>>>> I tried
>>>>> SimpleBrowser.this.backButton.setFocusable(false);
>>>>> But it still comes "focused", or rather, the JButton looks like you
>>>>> clicked it even though you haven't yet done so.
>>>> Something always gets the focus when a GUI is made visible. Just send
>>>> the focus to some other component for example your JTextField that takes
>>>> the URL string. Do it after the GUI is visible.
>>> Curious. The JButton look is now restored to normal the moment I did
>>> both setFocusable(false) and then immediately after that
>>> setSelected(false).
>> Normal is what you are trying to change. When the GUI is made visible
>> the first focusable component takes the focus. When you made the
>> JButton not focusable some other component took the focus. Focus is
>> normal behaviour. If you don't want that then fine but it is there so
>> that you can press the space bar and activate the button.
>>
>> Selected on a JButton is when you are holding the mouse button
>> depressed. That has nothing to do with what is happening here.
>>
>
> Sorry my terminology is not as educated as those of others; I'm prone
> to using the "wrong term" for what I mean to say. The JButton looks
> just like - as if - you are in the process of clicking the button with
> your mouse. Like if you press a form button on a webpage; the JButton
> looks exactly like that; there is a thin black box around the JButton
> text; the colorization appears as if selected as well as focused. The
> button looks like that even if I have
>
> backButton.setFocusable(false);
>
> However, the moment I use *BOTH* of these lines:
>
> backButton.setFocusable(false);
> backButton.setSelected(false);
>
> The button looks like I have *NOT YET* clicked onto it as well as
> focus being diverted away from that button.
>
> I hope that makes more sense.
>
>> --
>>
>> Knute Johnson
>> email s/nospam/knute/
>
>
Focus is focus, selected is selected and clicked is clicked. There is
no selected state on a JButton. Set the button in the example below to
not focusable and see what happens.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class test3 extends JFrame
implements ActionListener, FocusListener, ItemListener {
public test3() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new FlowLayout());
JButton b = new JButton("Click Me");
b.addActionListener(this);
b.addItemListener(this);
b.addFocusListener(this);
add(b);
JCheckBox cb = new JCheckBox("Select Me");
cb.addActionListener(this);
cb.addItemListener(this);
cb.addFocusListener(this);
add(cb);
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent ae) {
String text = ((AbstractButton)ae.getSource()).getText();
System.out.println(text + " Clicked");
}
public void focusGained(FocusEvent fe) {
System.out.println(
((AbstractButton)fe.getSource()).getText() + " Focus gained");
}
public void focusLost(FocusEvent fe) {
System.out.println(
((AbstractButton)fe.getSource()).getText() + " Focus lost");
}
public void itemStateChanged(ItemEvent ie) {
int state = ie.getStateChange();
String label = ((AbstractButton)ie.getSource()).getText();
switch (state) {
case ItemEvent.SELECTED:
System.out.println(label + " Selected");
break;
case ItemEvent.DESELECTED:
System.out.println(label + " Deselected");
break;
default:
System.out.println(label + "Unknown State");
break;
}
}
public static void main(String[] args) {
new test3();
}
}
--
Knute Johnson
email s/nospam/knute/
---
* Synchronet * The Whitehouse BBS --- whitehouse.hulds.com --- check it out free usenet!
--- Synchronet 3.15a-Win32 NewsLink 1.92
Time Warp of the Future BBS - telnet://time.synchro.net:24
[toc] | [prev] | [next] | [standalone]
| From | "Brandon McCombs" <brandon.mccombs@THRWHITE.remove-dii-this> |
|---|---|
| Date | 2011-04-27 15:31 +0000 |
| Subject | Re: JButton is created "s |
| Message-ID | <45fcdbbf$0$28103$4c368faf@roadrunner.com> |
| In reply to | #1188 |
To: comp.lang.java.gui Phil Powell wrote: [snip] > > SimpleBrowser.this.processor.processURL(SimpleBrowser.this.getURL()); > } [snip] > > > The moment this particular JButton is created it is created as > "selected", even though I have done "setSelected(false)". It does not > fire unless I click onto it, of course, but it appears as if I did and > that's not good. Is there a way I can fix this? > > Thanx > Phil > Any particular reason why you keep calling SimpleBrowser.this ? I would think you could just use one or the other (SimpleBrowser or this) depending on how you structured your classes. --- * Synchronet * The Whitehouse BBS --- whitehouse.hulds.com --- check it out free usenet! --- Synchronet 3.15a-Win32 NewsLink 1.92 Time Warp of the Future BBS - telnet://time.synchro.net:24
[toc] | [prev] | [standalone]
Back to top | Article view | comp.lang.java.gui
csiph-web