2017-01-17 4 views
-2

Я просто пытаюсь использовать класс Box (Java API) с помощью Eclipse Neon. Когда я импортирую javax.swing.Box, класс, похоже, больше не существует.is Box.createHorizontalBox() все еще поддерживается? import error

Если я вызываю функцию так:

Box myBox = Box.createHorizontalBox(); 

Затмение показывает ошибку: "Метод createHorizontalBox() не определено для типа Box"

Is класс Box (и функции), не включенные в javax .swing? Любая идея, что не так?

+0

Он по-прежнему существует и работает. – Boann

+1

Он существует, см. [Документы] (https://docs.oracle.com/javase/8/docs/api/javax/swing/Box.html). Возможно, у вас есть другой класс «Box», определенный в вашем проекте, который он вызывает? Что происходит, если вы вызываете это явно, например 'javax.swing.Box.createHorizontalBox()'? – whrrgarbl

+0

Вы уверены, что импортировали 'javax.swing.Box', а не один из других классов Box, таких как' javafx.scene.shape.Box'? –

ответ

0

Хорошо, я пытался сделать это внутри класса под названием «Ящик», поэтому я просто изменил имя класса и все найденные находки.

Надежда быть полезным для кого-то еще

0

Да, он по-прежнему.

import java.awt.BorderLayout; 

import javax.swing.Box; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JPasswordField; 
import javax.swing.JTextField; 

public class MainClass { 
    public static void main(String args[]) { 
    JFrame f = new JFrame("JPasswordField Sample"); 
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    Box rowOne = Box.createHorizontalBox(); 
    rowOne.add(new JLabel("Username")); 
    rowOne.add(new JTextField()); 
    Box rowTwo = Box.createHorizontalBox(); 
    rowTwo.add(new JLabel("Password")); 
    rowTwo.add(new JPasswordField()); 
    f.add(rowOne, BorderLayout.NORTH); 
    f.add(rowTwo, BorderLayout.SOUTH); 
    f.setSize(300, 200); 
    f.setVisible(true); 
    } 
} 
+0

См. Также [* Начальные темы *] (http://docs.oracle.com/javase/tutorial/uiswing/concurrency/initial.html). – trashgod