小编Dav*_*amp的帖子

如何在单个表上执行UNION?

我需要显示所有居住在"彼得斯"或"乌鸦"大道的客户的姓名,地址和DOB.

这很好,我这样做:

SELECT Customers.FirstName, Customers.Surname,
       Customers.CustomerAddress, Customers.DOB
FROM Customers
WHERE 
(  Customers.CustomerAddress LIKE '%'+ 'Peters' + '%' 
or Customers.CustomerAddress LIKE '%'+ 'Crows'+ '%')
Run Code Online (Sandbox Code Playgroud)

但后来我读得更难了,它说:

使用UNION查询生成结果.

所以我在UNIONs 上读了一下,但大多数情况下我看到两个SELECT查询的返回值必须是相同的长度,并且通常示例使用2个不同的表?

所以我需要UNION在同一张桌子上执行一个表示所有在其地址中带有PetersCrows字样的客户.我试过了:

SELECT Customers.CustomerAddress
FROM Customers
WHERE 
(  Customers.CustomerAddress LIKE '%'+ 'Peters' + '%'
or Customers.CustomerAddress LIKE '%'+ 'Crows'+ '%')
UNION
SELECT Customers.FirstName, Customers.Surname,
       Customers.CustomerAddress, Customers.DOB
FROM Customers
Run Code Online (Sandbox Code Playgroud)

但我得到错误:

使用UNION,INTERSECT或EXCEPT运算符组合的所有查询在其目标列表中必须具有相同数量的表达式.

这是可以理解的,因为我的第一个SELECT只返回3个结果(即我正在寻找的结果),而另一个返回所有被寻址的(包括我需要的).

所以我的确切问题是,如何UNION在同一张桌子上执行a (客户共10条记录),以便显示所有在其地址中包含PetersCrows字样的客户?(其中3个记录与其他7个记录不匹配)

sql union sql-server-2008

9
推荐指数
1
解决办法
3万
查看次数

如何使图像大小适合JFrame大小?

我有JPanel一个JFrame.我在上面加了一张图片,JPanel但它只显示了图片的一部分:这是代码的一部分,我做了它:

JPanel panelImg = new JPanel()
{
    public void paintComponent(Graphics g)
    {
        Image img = new ImageIcon("Welcome.png").getImage();
        Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
        setPreferredSize(size);
        setMinimumSize(size);
        setMaximumSize(size);
        setSize(size);
        setLayout(null);
        g.drawImage(img, 0, 0, null);
    }
};
mainFrame.add(panelImg);
Run Code Online (Sandbox Code Playgroud)

所以这就是它的样子:

图片1

完整的图片如下所示:

在此输入图像描述

有没有办法将图片缩放到JFrames尺寸?提前致谢

java swing image jpanel jframe

9
推荐指数
2
解决办法
5万
查看次数

JOptionPane - 检查用户输入并防止关闭,直到满足条件

JOptionPane除非满足用户输入字段的条件,否则有人可以告诉我是否有一种方便的方法可以防止在单击"确定"时关闭?

或者我别无选择只能使用JFrame

到目前为止我的验证逻辑.似乎不起作用,因为按钮是由于某种原因一次性可点击...

final JDialog dialog3 = new JDialog(OmniGUI.getFrame(), "Create new Node - id:" + newNodeID);
dialog3.setContentPane(theOPane);
dialog3.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);

theOPane.addPropertyChangeListener(new PropertyChangeListener(){
   public void propertyChange(PropertyChangeEvent e) {

       if(e.getSource() == theOPane){
           String val = (String) ((JOptionPane) e.getSource()).getValue();

           if(val=="Create"){
               System.out.println("Checking content");                      

               if(!valid){
                   System.out.println("closing the window");    

                   dialog3.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
                   dialog3.removeAll();
                   dialog3.dispatchEvent(new WindowEvent(dialog3, WindowEvent.WINDOW_CLOSING));
               }

           }
       }
   }    
});

    dialog3.setLocation(p);
    dialog3.pack();
    dialog3.setVisible(true);
Run Code Online (Sandbox Code Playgroud)

java swing joptionpane

8
推荐指数
1
解决办法
3万
查看次数

什么是最好的布局管理器?

在此输入图像描述

我想做一个看起来像上面的gui.现在我有一个面板,它将保存名称标签,名称文本字段,brith日期标签和生日文本字段.我的问题是什么是最好的布局管理器在面板上使用,以便"名称组件"行(标签+文本字段)和"出生日期组件"行(标签+文本字段),将垂直均匀地分布在小组.

我想过使用流布局,但这会导致两行组件之间没有间隙.我想过使用网格布局,但我不知道两行组件之间的间隙大小.

一个更复杂的方法......我考虑将名称标签和文本字段放在一个面板中,并将出生日期标签和文本字段放在另一个面板中,然后使基本面板边框布局和设置名称为北,生日日期为南. ..但是我仍然需要确保名称组件在名称面板中垂直居中,而birthdate组件在出生日期面板中垂直居中.

任何帮助表示赞赏.目标是确保名称组件行和出生日期组件行垂直展开,名称组件垂直居中于上半部分,出生日期组件垂直居中于下半部分.如果有什么问题让人感到困惑,请告诉我我会尝试改写以便更好地理解.

我正在使用严格的Java swing与eclipse,没有GUI构建器或类似的东西.

java swing layout-manager

8
推荐指数
2
解决办法
9416
查看次数

为什么在Graphics对象上调用dispose()会导致JPanel不呈现任何组件

在学习了dispose()应该在使用后调用Graphics/ Graphics2Dobject之后,我开始改变我的游戏以包含它.

当我添加g2d.dispose()了被覆盖paintComponent(Graphics g)JPanel,我添加的组件(JLabel类的扩展)未呈现的时候我仍然可以点击它们等但它们不会被绘制.

我测试了正常JLabelJButton相同的效果(虽然JButton鼠标在它上面时渲染).

所以我的问题是为什么会发生这种情况?

这是一个SSCCE来证明:

在此输入图像描述

在取消呼叫后dispose()paintComponentMainMenuPanel类:

在此输入图像描述

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Image;
import java.awt.RenderingHints;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.image.BufferedImage;
import java.net.URL;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import …
Run Code Online (Sandbox Code Playgroud)

java graphics swing jpanel paintcomponent

8
推荐指数
1
解决办法
1万
查看次数

如何使用css使div填充重新垂直空间

我正在尝试使用标题,导航栏(导航栏右侧)和页脚创建标准网站布局.

到目前为止我已经完成了这个:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Test</title>
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <style type="text/css" media="screen">

            .header {
                float: top;
                width: 100%;
                height: 75px;
            }

            .navbar {
                float: left;
                width: 20%;
                height: 100%;
                height: 100%;
                min-height:100%;
                overflow: scroll;
            }

            .body {
                float: right;
                width: 80%;
                height: 100%;
                min-height:100%;
                overflow: scroll;
            }
            .footer {
                float: bottom;
                width: 100%;
            }
        </style>
    </head>
    <body>
        <div class="header"> Header </div>
        <div …
Run Code Online (Sandbox Code Playgroud)

html css

8
推荐指数
1
解决办法
3万
查看次数

全屏窗口不会使用KeyListener或KeyBoardFocusManager获取键盘输入

我在使用KeyBoardFocusManger全屏工作时遇到了问题Window.无论如何,它都不会得到键盘输入.我使用a System.exit(0)和a println()来查找对keypressed/release/typed方法的任何调用,但不会抛出任何错误.我试过了KeyListeners; 但我看了以后这个,我改变了一个KeyboardFocusManager,同样的事情仍然发生.我真的很绝望; 从我可以判断,Window是不是得到了键盘的焦点?

这是我的主要内容:

public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {

        @Override
        public void run() {
            // Determine if full-screen mode is supported directly
            GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
            GraphicsDevice gs = ge.getDefaultScreenDevice();
            if (gs.isFullScreenSupported()) {
                Frame frame = new Frame(gs.getDefaultConfiguration());
                SpaceInvaderUI spaceInvaderUI = new SpaceInvaderUI(frame);
                // Enter full-screen mode
                gs.setFullScreenWindow(spaceInvaderUI);
            } else {
                JOptionPane.showMessageDialog(null, "Does not support full screen!", "Error 0x01", JOptionPane.ERROR_MESSAGE); …
Run Code Online (Sandbox Code Playgroud)

java swing fullscreen keylistener key-bindings

7
推荐指数
1
解决办法
2270
查看次数

使用扫描仪获取用户输入

我想让扫描仪在循环中接收输入.一旦用户想要完成,他就可以退出这个循环.我尝试了很多不同的方法,但总有一些问题.这是代码:

private void inputEntries() {
    Scanner sc = new Scanner(System.in);
    System.out.println("Continue?[Y/N]");
    while (sc.hasNext() && (sc.nextLine().equalsIgnoreCase("y"))) {//change here
        System.out.println("Enter first name");
        String name = sc.nextLine();
        System.out.println("Enter surname");
        String surname = sc.nextLine();
        System.out.println("Enter number");
        int number = sc.nextInt();
        Student student = new Student(name, surname, number);
        students.add(student);
        try {
            addToFile(student);
        } catch (Exception ex) {
            Logger.getLogger(TextReader.class.getName()).log(Level.SEVERE, null, ex);
        }
        System.out.println("Continue?[Y/N]");
    }
}
Run Code Online (Sandbox Code Playgroud)

上面代码的问题,也发生在我尝试的不同方法上,当用户输入Y时,Scanner将跳过第一个名字输入,并跳转到姓氏.如果用户键入N,则循环正确停止.有人可以解释这种情况发生的原因,以及如何克服使用Scanner类?

ps:执行类似的操作while(sc.nextLine().equals("Y"))会导致循环在首次运行循环后从用户输入之前终止.

java java.util.scanner

7
推荐指数
1
解决办法
7万
查看次数

JLabel鼠标点击图标或文字

当它被点击JLabel,我想明白了,如果点击的是"Icon part",和" Text part"JLabel,所以不同的可以采取行动.有一个聪明的办法做到这一点?或者只是我必须与坐标相对解决问题图标和文字?

java swing jlabel imageicon

7
推荐指数
1
解决办法
5775
查看次数

将JPanel转换为JScrollPane中的图像

我想将JPanel转换为图像.我使用以下方法:

public BufferedImage createImage(){

    int w = getWidth();
    int h = getHeight();
    BufferedImage bi = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
    Graphics2D g = bi.createGraphics();
    paint(g);
    return bi;
}
Run Code Online (Sandbox Code Playgroud)

但问题是JPanel包含在JScrollPane中.因此,当我将jpanel转换为图像时,图像仅包含jpanel中可见的部分,并且隐藏在滚动窗格内部的部分不包含在图像中.

是否有任何解决方案可以将JPanel的全部内容转换为图像?

java swing image jpanel jscrollpane

7
推荐指数
1
解决办法
3059
查看次数