本文整理匯總了Java中javax.swing.JInternalFrame.isIcon方法的典型用法代碼示例。如果您正苦於以下問題:Java JInternalFrame.isIcon方法的具體用法?Java JInternalFrame.isIcon怎麽用?Java JInternalFrame.isIcon使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類javax.swing.JInternalFrame
的用法示例。
在下文中一共展示了JInternalFrame.isIcon方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: activateFrame
import javax.swing.JInternalFrame; //導入方法依賴的package包/類
public void activateFrame(JInternalFrame f) {
JInternalFrame currentFrame = currentFrameRef != null ?
currentFrameRef.get() : null;
try {
super.activateFrame(f);
if (currentFrame != null && f != currentFrame) {
// If the current frame is maximized, transfer that
// attribute to the frame being activated.
if (currentFrame.isMaximum() &&
(f.getClientProperty("JInternalFrame.frameType") !=
"optionDialog") ) {
//Special case. If key binding was used to select next
//frame instead of minimizing the icon via the minimize
//icon.
if (!currentFrame.isIcon()) {
currentFrame.setMaximum(false);
if (f.isMaximizable()) {
if (!f.isMaximum()) {
f.setMaximum(true);
} else if (f.isMaximum() && f.isIcon()) {
f.setIcon(false);
} else {
f.setMaximum(false);
}
}
}
}
if (currentFrame.isSelected()) {
currentFrame.setSelected(false);
}
}
if (!f.isSelected()) {
f.setSelected(true);
}
} catch (PropertyVetoException e) {}
if (f != currentFrame) {
currentFrameRef = new WeakReference<JInternalFrame>(f);
}
}
示例2: activateFrame
import javax.swing.JInternalFrame; //導入方法依賴的package包/類
public void activateFrame(JInternalFrame f) {
JInternalFrame currentFrame = currentFrameRef != null ?
currentFrameRef.get() : null;
try {
super.activateFrame(f);
if (currentFrame != null && f != currentFrame) {
// If the current frame is maximized, transfer that
// attribute to the frame being activated.
if (!currentFrame.isClosed() && currentFrame.isMaximum() &&
(f.getClientProperty("JInternalFrame.frameType") !=
"optionDialog") ) {
//Special case. If key binding was used to select next
//frame instead of minimizing the icon via the minimize
//icon.
if (!currentFrame.isIcon()) {
currentFrame.setMaximum(false);
if (f.isMaximizable()) {
if (!f.isMaximum()) {
f.setMaximum(true);
} else if (f.isMaximum() && f.isIcon()) {
f.setIcon(false);
} else {
f.setMaximum(false);
}
}
}
}
if (currentFrame.isSelected()) {
currentFrame.setSelected(false);
}
}
if (!f.isSelected()) {
f.setSelected(true);
}
} catch (PropertyVetoException e) {}
if (f != currentFrame) {
currentFrameRef = new WeakReference<JInternalFrame>(f);
}
}
示例3: tile
import javax.swing.JInternalFrame; //導入方法依賴的package包/類
/**
* From <a href=
* "https://www.java-tips.org/how-to-tile-all-internal-frames-when-requested.html">java-tips.org</a>
* <br>
* Modified to account for iconified windows.
*
* @param desk
* Desktop pane containing windows to be tiled.
*/
public static void tile(JDesktopPane desk) {
// How many frames do we have?
JInternalFrame[] frames = desk.getAllFrames();
List<JInternalFrame> tileableFrames = new ArrayList<>();
List<JInternalFrame> iconifiedFrames = new ArrayList<>();
boolean icons = false;
int count = 0;
for (JInternalFrame frame : frames) {
if (frame.isIcon()) {
iconifiedFrames.add(frame);
icons = true;
} else {
tileableFrames.add(frame);
count++;
}
}
if (count == 0) return;
// Determine the necessary grid size
int sqrt = (int) Math.sqrt(count);
int rows = sqrt;
int cols = sqrt;
if (rows * cols < count) {
cols++;
if (rows * cols < count) {
rows++;
}
}
// Define some initial values for size & location.
Dimension size = desk.getSize();
int hb = size.height;
if (icons && hb > 27) {
hb -= 27;
}
int w = size.width / cols;
int h = hb / rows;
int x = 0;
int y = 0;
// Iterate over the frames and relocating & resizing each.
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols && ((i * cols) + j < count); j++) {
JInternalFrame f = tileableFrames.get((i * cols) + j);
desk.getDesktopManager().resizeFrame(f, x, y, w, h);
x += w;
}
y += h; // start the next row
x = 0;
}
}