-
Bug
-
Resolution: Fixed
-
P4
-
1.1.5, 1.1.6, 1.2.0
-
beta
-
generic, x86
-
generic, solaris_2.5, windows_95, windows_nt
1. Compile and Run the attached example.
2. Create two internal frames using File:New Menu.
3. Type text in the text area of the selected IFrame.
4. Single click in the text area or title bar of the unselected frame.
The IFrame appears to be selected however if more text is typed
it goes to text area of the formerly selected Iframe.
In other words single click inside an unselected frame selects it but
the keyboard focus is not adjusted accordingly.
sandip.chitale@Eng 1998-02-05
// Example
import java.awt.*;
import java.awt.event.*;
import com.sun.java.swing.*;
public
class SwingTest
extends JFrame
implements ActionListener
{
private JMenuItem mNew;
private JMenuItem mExit;
public
SwingTest()
{
super("SwingTest");
setBackground(SystemColor.control);
JMenuBar mb = new JMenuBar();
JMenu mFile = new JMenu("File");
mNew = new JMenuItem("New");
mNew.addActionListener(this);
mFile.add(mNew);
mExit = new JMenuItem("Exit");
mExit.addActionListener(this);
mFile.add(mExit);
mb.add(mFile);
setJMenuBar(mb);
setContentPane(new JDesktopPane());
Container cp = getContentPane();
JDesktopPane dp = new JDesktopPane();
dp.setOpaque(true);
cp.add(dp, BorderLayout.EAST);
getContentPane().setBackground(SystemColor.control);
setSize(800, 600);
setVisible(true);
}
private int iFrameCount = 0;
public
void
actionPerformed(ActionEvent ae)
{
if (ae.getSource() == mNew)
{
JInternalFrame iFrame = new JInternalFrame("Internal Frame - " + iFrameCount, true, true, true, true);
Container cp = iFrame.getContentPane();
cp.setLayout(new BorderLayout());
final JTextArea o = new JTextArea();
cp.add(o, BorderLayout.CENTER);
JButton b = new JButton("" + iFrameCount);
b.setToolTipText("Button " + iFrameCount);
cp.add(b, BorderLayout.SOUTH);
b.addActionListener( new ActionListener()
{
public
void
actionPerformed(ActionEvent ae)
{
o.append(ae.getActionCommand() + "\n");
}
}
);
///*
JLabel l = new JLabel("Label " + iFrameCount);
cp.add(l, BorderLayout.NORTH);
l.addMouseListener(new MouseListener()
{
public void mouseClicked(MouseEvent e) {};
public void mousePressed(MouseEvent e) {};
public void mouseReleased(MouseEvent e) {};
public void mouseEntered(MouseEvent e) {};
public void mouseExited(MouseEvent e) {};
}
);
//*/
iFrame.setBounds(iFrameCount * 20, iFrameCount * 40, 200, 200);
getContentPane().add(iFrame);
try {
iFrame.setSelected(true);
} catch (Exception e)
{
System.out.println(e);
}
iFrameCount++;
iFrameCount %= 10;
return;
}
if (ae.getSource() == mExit)
{
System.exit(0);
return;
}
}
public
static
void
main(String args[])
{
new SwingTest();
}
}
2. Create two internal frames using File:New Menu.
3. Type text in the text area of the selected IFrame.
4. Single click in the text area or title bar of the unselected frame.
The IFrame appears to be selected however if more text is typed
it goes to text area of the formerly selected Iframe.
In other words single click inside an unselected frame selects it but
the keyboard focus is not adjusted accordingly.
sandip.chitale@Eng 1998-02-05
// Example
import java.awt.*;
import java.awt.event.*;
import com.sun.java.swing.*;
public
class SwingTest
extends JFrame
implements ActionListener
{
private JMenuItem mNew;
private JMenuItem mExit;
public
SwingTest()
{
super("SwingTest");
setBackground(SystemColor.control);
JMenuBar mb = new JMenuBar();
JMenu mFile = new JMenu("File");
mNew = new JMenuItem("New");
mNew.addActionListener(this);
mFile.add(mNew);
mExit = new JMenuItem("Exit");
mExit.addActionListener(this);
mFile.add(mExit);
mb.add(mFile);
setJMenuBar(mb);
setContentPane(new JDesktopPane());
Container cp = getContentPane();
JDesktopPane dp = new JDesktopPane();
dp.setOpaque(true);
cp.add(dp, BorderLayout.EAST);
getContentPane().setBackground(SystemColor.control);
setSize(800, 600);
setVisible(true);
}
private int iFrameCount = 0;
public
void
actionPerformed(ActionEvent ae)
{
if (ae.getSource() == mNew)
{
JInternalFrame iFrame = new JInternalFrame("Internal Frame - " + iFrameCount, true, true, true, true);
Container cp = iFrame.getContentPane();
cp.setLayout(new BorderLayout());
final JTextArea o = new JTextArea();
cp.add(o, BorderLayout.CENTER);
JButton b = new JButton("" + iFrameCount);
b.setToolTipText("Button " + iFrameCount);
cp.add(b, BorderLayout.SOUTH);
b.addActionListener( new ActionListener()
{
public
void
actionPerformed(ActionEvent ae)
{
o.append(ae.getActionCommand() + "\n");
}
}
);
///*
JLabel l = new JLabel("Label " + iFrameCount);
cp.add(l, BorderLayout.NORTH);
l.addMouseListener(new MouseListener()
{
public void mouseClicked(MouseEvent e) {};
public void mousePressed(MouseEvent e) {};
public void mouseReleased(MouseEvent e) {};
public void mouseEntered(MouseEvent e) {};
public void mouseExited(MouseEvent e) {};
}
);
//*/
iFrame.setBounds(iFrameCount * 20, iFrameCount * 40, 200, 200);
getContentPane().add(iFrame);
try {
iFrame.setSelected(true);
} catch (Exception e)
{
System.out.println(e);
}
iFrameCount++;
iFrameCount %= 10;
return;
}
if (ae.getSource() == mExit)
{
System.exit(0);
return;
}
}
public
static
void
main(String args[])
{
new SwingTest();
}
}
- relates to
-
JDK-4103503 JInternalFrame: maximized state isn't shared.
- Resolved
-
JDK-4108824 Maximized JInternalFrames can be moved
- Resolved
-
JDK-4643229 Caret hidden in JTextArea inside JInternalFrame
- Closed