View Single Post
  #2 (permalink)  
Old 04-24-2008, 07:35 PM
hardwired hardwired is offline
Senior Member
 
Join Date: Jul 2007
Posts: 1,104
hardwired is on a distinguished road
Code:
import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; public class TFB { private static final long serialVersionUID = 1L; JDesktopPane desk; JDesktopPane ifdesk; JScrollPane scrollpane; JInternalFrame iframe; JFrame frame; JList jList1; JInternalFrame currentframe; Integer currentframenumber; String currentframename; Boolean[] downuptracker; Integer deskwidth = 1000; Integer deskheight = 1000; Integer scrollwidth = 1000; Integer scrollheight = 1000; JButton DownUpButton; public static void main(String[] args) { new TFB(); } public TFB(){ downuptracker = new Boolean [99]; frame = new JFrame("Test Frame Button"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); scrollpane = new JScrollPane(desk, ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS); scrollpane.setPreferredSize(new Dimension(scrollwidth, scrollheight)); // If you're going to make a new JDesktopPane here there is // no need to have the enclosing class extend JDesktopPane. desk = new JDesktopPane(); desk.setPreferredSize(new Dimension(deskwidth, deskheight)); // Only need to do this one time. UIManager.getDefaults().put("InternalFrame.icon", ""); int i = 5; for (int j = 0; j <= i; j++){ // UIManager.getDefaults().put("InternalFrame.icon", ""); iframe = new JInternalFrame("Internal Frame: " + j, false, true, false, false); iframe.setName(String.valueOf(j)); iframe.setBounds(30*j, 30*j,265 , 80); iframe.addInternalFrameListener(new InternalFrameListener(){ public void internalFrameClosing(InternalFrameEvent e) {} public void internalFrameClosed(InternalFrameEvent e) {} public void internalFrameOpened(InternalFrameEvent e) {} public void internalFrameIconified(InternalFrameEvent e) {} public void internalFrameDeiconified(InternalFrameEvent e) {} public void internalFrameActivated(InternalFrameEvent e) { currentframe = e.getInternalFrame(); currentframename = e.getInternalFrame().getName(); currentframenumber = Integer.valueOf(currentframename); System.out.println("activatedFrame name = " + currentframename); } public void internalFrameDeactivated(InternalFrameEvent e) {} }); iframe.setTitle("Internal Frame :" + j); iframe.setVisible(true); downuptracker[j] = true; // ifdesk = new JDesktopPane(); // iframe.getContentPane().add(ifdesk, BorderLayout.CENTER); DownUpButton = new JButton("Old Icon here"); // ifdesk.add(DownUpButton); iframe.setLayout(null); DownUpButton.setBounds(0, 0, 130, 20); iframe.getContentPane().add(DownUpButton); DownUpButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // Try getting a reference to the button that // sent this event: JButton button = (JButton)e.getSource(); if (downuptracker[currentframenumber].equals(true)) { // Colapse frame here and change icon // Since DownUpButton has been declared as a // member variable in class scope this reference // to "DownUpButton" will always refer/point to // the last instance created. //DownUpButton.setText("New Icon here"); button.setText("New Icon here"); downuptracker[currentframenumber] = false; }else{ // Expand frame here and change icon //DownUpButton.setText("Old Icon here"); button.setText("Old Icon here"); downuptracker[currentframenumber] = true; } } }); desk.add(iframe); iframe.moveToFront(); } scrollpane.setViewportView(desk); frame.add(scrollpane); // scrollpane.setVisible(true); frame.setSize(800,600); frame.setVisible(true); } }
Reply With Quote