`
- 浏览:
29750 次
- 性别:
- 来自:
上海
-
import java.awt.BorderLayout;
import java.awt.Dialog;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.net.URL;
import javax.swing.Box;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
import javax.swing.text.html.HTMLDocument;
import javax.swing.text.html.HTMLEditorKit;
public class Ebook extends JDialog{
private MyShow myshows;
private JTextPane textpane;
public Ebook(final MyShow myshows){
super((Dialog)null, true);
this.myshows = myshows;
this.setUndecorated(true);
extraInitComponents(true);
initGUI();
}
private void initGUI(){
setBak();
this.getContentPane().setLayout(new BorderLayout());
textpane = createHTMLPane();
JScrollPane jsc = new JScrollPane(textpane);
URL url = null;
StringBuffer page = new StringBuffer();
StringBuffer str = new StringBuffer();
str.append("C:\\zh_CN");
page.append("file:/");
page.append(str);
page.append(File.separator);
page.append("ebook.htm");
try {
url = new URL(page.toString());
textpane.setPage(url);
} catch (Exception ex) {
}
JPanel centerPanel = new JPanel(new BorderLayout());
centerPanel.setOpaque(false);
centerPanel.add(jsc,BorderLayout.CENTER);
centerPanel.setPreferredSize(new Dimension(50, 50));
centerPanel.setMinimumSize(new Dimension(50, 50));
centerPanel.setMaximumSize(new Dimension(50, 50));
this.getContentPane().add(centerPanel,BorderLayout.CENTER);
JPanel button = new JPanel(new FlowLayout(FlowLayout.RIGHT));
JButton close = new JButton("close");
close.setPreferredSize(new Dimension(75, 25));
close.setMinimumSize(new Dimension(75, 25));
close.setMaximumSize(new Dimension(75, 25));
close.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
setVisible(false);
}
});
button.add(close);
button.add(Box.createHorizontalStrut(75));
button.setOpaque(false);
this.getContentPane().add(button,BorderLayout.SOUTH);
this.getContentPane().add(Box.createVerticalStrut(80),BorderLayout.NORTH);
this.getContentPane().add(Box.createHorizontalStrut(80),BorderLayout.WEST);
this.getContentPane().add(Box.createHorizontalStrut(80),BorderLayout.EAST);
((JPanel) this.getContentPane()).setOpaque(false);
}
public void ShowUI(){
setVisible(true);
}
private void setBak() {
((JPanel) this.getContentPane()).setOpaque(false);
StringBuffer imagestr = new StringBuffer();
imagestr.append("C:\\back.PNG");
final ImageIcon img = new ImageIcon(imagestr.toString());
JLabel background = new JLabel(img){
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(img.getImage(), 0,0,img.getIconWidth(),img.getIconHeight(),null);
g.dispose();
}
};
getLayeredPane().add(background, new Integer(Integer.MIN_VALUE));
background.setBounds(0, 0, img.getIconWidth(), img.getIconHeight());
setSize(400, 300);
}
public void extraInitComponents(boolean ifFirstInit) {
setLocationRelativeTo(myshows);
setAlwaysOnTop(true);
com.sun.awt.AWTUtilities.setWindowOpaque(this, false);
}
public static JTextPane createHTMLPane() {
JTextPane textPane;
textPane = new JTextPane();
HTMLEditorKit kit = new HTMLEditorKit();//kit s ur HTMLEditorKit
HTMLDocument doc = (HTMLDocument) (kit.createDefaultDocument());
textPane.setEditorKit(kit);//'this' is ur JTextPane object
textPane.setDocument(doc);
textPane.setEditable(false);
return textPane;
}
}
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
- **淡入淡出**:对话框以平滑的透明度变化进入和退出视图,给人一种温和而不突兀的感觉。 - **顶部滑出**:对话框从屏幕顶部以滑动方式出现,常用于通知或提示信息。 - **水平滑动**:左右滑动的效果,适用于展示更...
6. **可配置选项**:包括但不限于宽度、高度、位置、背景透明度、是否可关闭等,开发者可根据需求调整。 ### 二、使用步骤 1. **引入依赖**:首先需要引入jQuery库(在这个例子中是`jquery132.js`),然后引入`...
在Java Swing库中,`JFrame`和`JDialog`是两种主要的顶级窗口组件,它们用于构建用户界面。`JFrame`通常用作应用程序的主要窗口,而`JDialog`则用于创建弹出式对话框,可以是模态或非模态的。本教程将深入探讨如何...
在Java AWT中,`java.awt.Frame`或`java.awt.Dialog`类是用于创建基本窗口的主要类,而Swing则提供了更为高级的`javax.swing.JFrame`和`javax.swing.JDialog`,它们支持更多的定制功能,包括透明性。 透明窗体的...
1. **淡入淡出效果**:这种效果是通过元素的透明度变化来实现的,使得对话框在出现和消失时平滑过渡,给人以优雅的感觉。 2. **顶部滑出效果**:对话框从页面顶部以滑动的方式进入视野,提供了一种动态的展示方式,...
这通常意味着项目具有较高的透明度和可定制性,对于学习、研究或改进现有代码的开发者来说极具价值。 **详细知识点:** 1. **Java GUI编程**:JOVCalendar是基于Java Swing库构建的,Swing提供了一组丰富的组件,...
jDialog通常提供更丰富的功能和更美观的样式,相比原生的JavaScript弹框函数,它允许开发者自定义弹框的大小、位置、颜色、按钮等属性,甚至可以添加复杂的交互逻辑。 总的来说,弹框、遮罩层和alert提示在网页开发...
JDialog jdmean = new JDialog(); JTextField jtfWord = new JTextField(""); JTextArea jtamean = new JTextArea(""); ``` 这里创建了一个主窗口`jf`和一个对话框`jdmean`,并分别添加了一个文本输入框`jtfWord`和...
总结来说,改变JAVA窗体属性涉及到使用JFrame或JDialog类创建窗体,然后通过`setOpacity()`方法调整透明度。通过添加JSlider组件,用户可以实时改变窗体的透明状态。这个过程不仅增强了用户的交互体验,也展示了Java...
JDialog dialog = new JDialog(); JPanel panel = new JPanel(); panel.setBackground(Color.PINK); // 粉色背景 dialog.setContentPane(panel); ``` 8. **JavaScript(HTML DOM)** 在网页应用中,如果使用...
一个java工程,实现病人病例个管理,病例的增删改功能,还有便捷查找。简单的java界面设计,png透明图片的使用,以及背景图的实现,Jtable的使用,Jframe与JDialog之间的数据交换,是一个学习java的好例子
8. **组件的透明度**: Swing允许设置组件的透明度,这为创建更具吸引力的用户界面提供了可能性。 9. **JFrame和JDialog**: JFrame是Swing中最基本的顶级容器,用于承载其他组件并构成一个窗口应用。而JDialog则用来...
`JSlider`(`jslider`)提供了滑动条功能,允许用户通过滑动来调整值,例如,可以用于设置透明度或者字体大小。滑动条的范围由1到100定义。 此外,应用还包含了一些其他组件,如`JButton`(`jbutton` 和 `jbutton2`...
- **概念**:`GlassPane`是Swing中一个特殊类型的组件,它可以被设置为任何`JFrame`或`JDialog`的顶层组件。通常情况下,它是透明的,并且位于所有其他组件之上。 - **用途**:利用`GlassPane`可以实现全局的遮罩层...
4. **透明度和形状**:在支持的平台上,`JFrame`允许设置窗口的透明度,甚至可以定义自定义形状,这可以通过`setOpacity()`和`setShape()`方法实现,为应用带来独特的视觉效果。 5. **事件处理**:`Frame`可以监听...
例如,对于Java桌面应用,你可以创建一个JFrame或JDialog作为闪屏窗口。 2. 设置闪屏窗口的背景图为你设计的图片,确保图片填充整个窗口,并调整大小以适应不同屏幕。 3. 添加适当的动画效果,比如淡入淡出、滑动...
Java Swing提供了`JOptionPane`类,可以创建简单的提示对话框,但若要实现分层显示,可能需要自定义组件,例如使用`JDialog`或`JWindow`。这需要考虑窗口的位置、大小、透明度以及关闭机制,确保提示信息不会干扰...
对于Java开发者,可以使用Java Swing或JavaFX中的JOptionPane类来创建简单的Popup Window,或者自定义JFrame或JDialog来构建更复杂的弹窗。在Android开发中,PopupWindow类允许开发者创建可定制的浮动视图,而iOS...
在Java Swing中,我们可以使用`JDialog`类创建模态对话框,或者在Android中使用`AlertDialog.Builder`。 3. **定制对话框内容**:对话框的内容可以是文本、输入框、复选框、单选按钮、列表等。这些元素可以通过布局...
3. **颜色处理**:`Color`类是处理颜色的核心,可以创建新的颜色,也可以通过`getRed()`,`getGreen()`,`getBlue()`方法获取颜色的RGB分量,或者通过`getAlpha()`获取透明度。 4. **事件监听**:为了响应用户的...