Отобразите BMP в JLabel

Прежде всего, я рекомендую вам создать класс Entry, который представляет ваши данные.

private class Entry {
    private String name;
    private double length;
    private double width;

    // getters and setters omitted

    @Override
    public String toString() {
        // omitted
    }
}

Затем создайте метод, который принимает String в качестве аргументов и отвечает за разбор строки текста в экземпляре Entry. Регулярное выражение \\s+ сопоставляет любые пробельные символы и разделит вашу строку на отдельные столбцы. Помните, что в производстве Double.valueOf может выдать RuntimeException, если вы не передаете действительный String.

Наконец, вы можете прочитать файл, используя API потока Java 8. Пропустите первую строку, поскольку она содержит заголовок столбца, а не фактические данные.

private void readFile() throws Exception {
    Path path = Paths.get(/* path to your file */);

    Files.readAllLines(path).stream().skip(1).map(FileReadTest::toEntry)
            .forEach(this::action);
}

В моем примере я просто печатаю каждую запись на консоли:

private void action(Entry entry) {
    System.out.println(entry);
}

Результирующий вывод:

Entry[name='truck1', length=18.6, width=8.1]
Entry[name='suv1', length=17.4, width=7.4]
Entry[name='coupe1', length=14.8, width=5.4]
Entry[name='mini1', length=14.1, width=5.0]
Entry[name='sedan1', length=16.4, width=6.1]
Entry[name='suv2', length=17.5, width=7.3]
Entry[name='mini2', length=14.3, width=5.2]
Entry[name='sedan2', length=16.5, width=6.2]
6
задан Prasad 7 May 2014 в 15:21
поделиться

2 ответа

Я нахожу некоторые классы записанными в Java 1.5, но можно легко обновить 2 класса так, чтобы можно было использовать классы в 1,4.

imag4j может преобразовать bmp, и ico файлы к BufferedImage возражает, что можно отобразиться в Java. Можно импортировать 17 классов и иметь для обновления, возможно, 10 строк из-за операторов java 1.5.

Вы получаете bmp преобразователь, который работает очень прекрасный.

2
ответ дан 9 December 2019 в 20:49
поделиться

javax.imageio. ImageIO поддерживает формат BMP:

Image image = ImageIO.read(imageFile);
ImageIcon icon = new ImageIcon(image);

JLabel label = new JLabel(icon);

ImageIO может также использоваться для преобразования между различными форматами.

10
ответ дан 9 December 2019 в 20:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: