本文整理汇总了Java中javax.swing.JList.DropLocation方法的典型用法代码示例。如果您正苦于以下问题:Java JList.DropLocation方法的具体用法?Java JList.DropLocation怎么用?Java JList.DropLocation使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类javax.swing.JList
的用法示例。
在下文中一共展示了JList.DropLocation方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: reorderProjects
import javax.swing.JList; //导入方法依赖的package包/类
private Boolean reorderProjects(TransferHandler.TransferSupport support) {
JList list = (JList) support.getComponent();
try {
int[] selectedIndices = (int[]) support.getTransferable().getTransferData(INDICES);
DefaultListModel model = (DefaultListModel) list.getModel();
JList.DropLocation dl = (JList.DropLocation) support.getDropLocation();
if (dl.getIndex() != -1) {
for (int selectedIndex : selectedIndices) {
Object value = model.get(selectedIndex);
model.removeElement(value);
model.add(dl.getIndex(), value);
}
return true;
} else {
LOG.warning("Invalid Drop Location");
}
} catch (UnsupportedFlavorException | IOException ex) {
LOG.log(Level.SEVERE, ex.getMessage(), ex);
}
return false;
}
示例2: getListCellRendererComponent
import javax.swing.JList; //导入方法依赖的package包/类
@Override
public Component getListCellRendererComponent (
JList list,
Object value,
int index,
boolean isSelected,
boolean cellHasFocus
) {
setComponentOrientation (list.getComponentOrientation ());
Color bg = null;
Color fg = null;
JList.DropLocation dropLocation = list.getDropLocation ();
if (dropLocation != null && !dropLocation.isInsert () && dropLocation.getIndex () == index) {
bg = UIManager.getColor ("List.dropCellBackground");
fg = UIManager.getColor ("List.dropCellForeground");
isSelected = true;
}
String line = (String) value;
Link link = StackLineAnalyser.analyse (line);
if (isSelected) {
setBackground (bg == null ? list.getSelectionBackground () : bg);
setForeground(fg == null ? list.getSelectionForeground() : fg);
} else {
setBackground (list.getBackground ());
// if (link != null)
// setForeground (foreground);
// else
setForeground (list.getForeground ());
}
if (link != null) {
StringBuilder sb = new StringBuilder ();
sb.append ("<html>");
if (isSelected)
sb.append("<style> a.val {text-decoration: underline; color: " + toRgbText(getForeground().getRGB()) + "} </style><body>");
sb.append (line.substring (0, link.getStartOffset ()));
sb.append ("<a class=\"val\" href=\"\">");
sb.append (line.substring (link.getStartOffset (), link.getEndOffset ()));
sb.append ("</a>");
sb.append (line.substring (link.getEndOffset ()));
sb.append ("</body></html>");
setText (sb.toString ());
} else
setText (line.trim ());
setEnabled (list.isEnabled ());
Border border = null;
if (cellHasFocus) {
if (isSelected) {
border = UIManager.getBorder ("List.focusSelectedCellHighlightBorder");
}
if (border == null) {
border = UIManager.getBorder ("List.focusCellHighlightBorder");
}
} else {
border = getNoFocusBorder ();
}
setBorder (border);
return this;
}
示例3: importData
import javax.swing.JList; //导入方法依赖的package包/类
@Override public boolean importData(TransferHandler.TransferSupport info) {
if (!info.isDrop()) {
return false;
}
JList list = (JList) info.getComponent();
DefaultListModel listModel = (DefaultListModel) list.getModel();
JList.DropLocation dl = (JList.DropLocation) info.getDropLocation();
int index = dl.getIndex();
boolean insert = dl.isInsert();
// Get the string that is being dropped.
Transferable t = info.getTransferable();
String data;
try {
data = (String) t.getTransferData(DataFlavor.stringFlavor);
} catch (Exception e) {
return false;
}
// Perform the actual import.
if (insert) {
listModel.add(index, data);
} else {
listModel.set(index, data);
}
return true;
}
示例4: getListCellRendererComponent
import javax.swing.JList; //导入方法依赖的package包/类
public Component getListCellRendererComponent (
JList list,
Object value,
int index,
boolean isSelected,
boolean cellHasFocus
) {
setComponentOrientation (list.getComponentOrientation ());
Color bg = null;
Color fg = null;
JList.DropLocation dropLocation = list.getDropLocation ();
if (dropLocation != null && !dropLocation.isInsert () && dropLocation.getIndex () == index) {
bg = UIManager.getColor("List.dropCellBackground");
fg = UIManager.getColor("List.dropCellForeground");
isSelected = true;
}
if (isSelected) {
setBackground (bg == null ? list.getSelectionBackground () : bg);
setForeground (fg == null ? list.getSelectionForeground () : fg);
} else {
setBackground (list.getBackground ());
setForeground (list.getForeground ());
}
String name = (String) value;
setText (name.substring (1));
setSelected (name.charAt (0) == '+');
setEnabled (list.isEnabled ());
setFont (list.getFont ());
Border border = null;
if (cellHasFocus) {
if (isSelected) {
border = UIManager.getBorder("List.focusSelectedCellHighlightBorder");
}
if (border == null) {
border = UIManager.getBorder("List.focusCellHighlightBorder");
}
} else {
border = getNoFocusBorder ();
}
if (border != null) { //#189786: rarely, the border is null - reasons are unknown
setBorder (border);
} else {
Logger.getLogger(CheckBoxRenderrer.class.getName()).log(Level.INFO, "Cannot set any border");
}
return this;
}