package com.eas.client.utils.scalableui;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridLayout;
import java.util.HashSet;
import java.util.Set;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultDesktopManager;
import javax.swing.DropMode;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JDesktopPane;
import javax.swing.JInternalFrame;
import javax.swing.JLayeredPane;
import javax.swing.JList;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.ListModel;
import javax.swing.event.ListDataListener;
/**
*
* @author Marat
*/
public class DemoContentPanel extends JPanel{
private class LModel extends Object implements ListModel{
Set<ListDataListener> listners = new HashSet<>();
public int getSize() {
return 269;
}
public Object getElementAt(int index) {
return "Element_"+String.valueOf(index);
}
public void addListDataListener(ListDataListener l) {
listners.add(l);
}
public void removeListDataListener(ListDataListener l) {
listners.remove(l);
}
}
private class SampleComboModel implements ComboBoxModel{
HashSet<ListDataListener> list = new HashSet<ListDataListener>();
String[] samItems = new String[]{"Item1", "Item2", "Item3", "Item4", "Item5", "Item6",
"Item1", "Item2", "Item3", "Item4", "Item5", "Item6",
"Item1", "Item2", "Item3", "Item4", "Item5", "Item6",
"Item1", "Item2", "Item3", "Item4", "Item5", "Item6"};
Object selected = null;
public void setSelectedItem(Object anItem) {
selected = anItem;
}
public Object getSelectedItem() {
return selected;
}
public int getSize() {
return samItems.length;
}
public Object getElementAt(int index) {
if(index >=0 || index < samItems.length)
return samItems[index];
return null;
}
public void addListDataListener(ListDataListener l) {
list.add(l);
}
public void removeListDataListener(ListDataListener l) {
list.remove(l);
}
}
public DemoContentPanel() {
setLayout(null);
JDesktopPane dp = new JDesktopPane();
dp.setLocation(20, 20);
dp.setSize(250, 450);
dp.setDesktopManager(new DefaultDesktopManager(){
@Override
public void dragFrame(JComponent f, int newX, int newY) {
f.setLocation(newX, newY);
}
});
JInternalFrame ifr = new JInternalFrame("Sample frame", true, true, true, true);
ifr.setLocation(20, 20);
ifr.setSize(150, 150);
//ifr.setBackground(Color.cyan);
ifr.getContentPane().setLayout(new BorderLayout());
JTextArea lta = new JTextArea();
lta.setBackground(Color.yellow);
lta.setToolTipText("Sample text component hint");
JScrollPane lsp = new JScrollPane(lta);
lta.setFont(Font.decode(Font.DIALOG_INPUT));
ifr.getContentPane().add(lsp, BorderLayout.CENTER);
ifr.setVisible(true);
dp.add(ifr, JLayeredPane.DEFAULT_LAYER);
JList lst = new JList();
lst.setModel(new LModel());
lst.setToolTipText("Sample tooltip. Right click to show scaled popup!");
lst.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
lst.setDragEnabled(true);
JPopupMenu pmenu = new JPopupMenu();
JMenuItem menuItem = new JMenuItem("sample popup menu item 1");
pmenu.add(menuItem);
menuItem = new JMenuItem("sample popup menu item 2");
pmenu.add(menuItem);
lst.setComponentPopupMenu(pmenu);
JList lst1 = new JList();
lst1.setModel(new LModel());
lst1.setToolTipText(" tooltip Sample. Right click to show scaled popup!");
lst1.setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));
lst1.setDragEnabled(true);
lst1.setDropMode(DropMode.INSERT);
lst1.setComponentPopupMenu(pmenu);
JScrollPane sp = new JScrollPane(lst);
sp.setLocation(290, 20);
sp.setSize(250, 350);
JScrollPane sp1 = new JScrollPane(lst1);
sp1.setLocation(290, 390);
sp1.setSize(250, 150);
JInternalFrame ifr1 = new JInternalFrame("Sample frame 1", true, true, true, true);
ifr1.getContentPane().setLayout(new GridLayout(5, 2));
ifr1.setSize(150, 150);
SampleComboModel lComboModel = new SampleComboModel();
JComboBox combo1 = new JComboBox(lComboModel);
JComboBox combo2 = new JComboBox(lComboModel);
JComboBox combo3 = new JComboBox(lComboModel);
JComboBox combo4 = new JComboBox(lComboModel);
JComboBox combo5 = new JComboBox(lComboModel);
JComboBox combo6 = new JComboBox(lComboModel);
JComboBox combo7 = new JComboBox(lComboModel);
JComboBox combo8 = new JComboBox(lComboModel);
ifr1.add(combo1);
ifr1.add(combo2);
ifr1.add(combo3);
ifr1.add(combo4);
ifr1.add(combo5);
ifr1.add(combo6);
ifr1.add(combo7);
ifr1.add(combo8);
ifr1.setVisible(true);
dp.add(ifr1, JLayeredPane.DEFAULT_LAYER);
add(sp);
add(sp1);
add(dp);
//setBackground(Color.magenta);
setPreferredSize(new Dimension(550, 500));
}
}